一个简单高效的座位控制,可以显示各种座位样式,支持自定义拉伸比例、座位信息传输等,希望符合您的需求。
FVSeatsPicker 可以帮助我们达到以下结果
FVSeatsPicker 有三个主要类别,即 FVSeatsPicker、FVSeatsPickerIndexView 和 FVSeatsItem。以下简要说明各种类型的功能是如何使用的!FVSeatsPicker 是主要显示类。我们可以将其用作 UIView 当使用它时。此外,您还需要告诉它要显示的大小、行数、列数。以及您想要显示的列数。座位信息可以是。此外,此类提供了一种设置状态图的方法,如果我们不调用更改方法或传递空图像,FVSeatsPicker 将使用内部图像资源框架。FVSeatsPickerIndexView 是一个辅助类,指示 FVSeatsPicker 中的行号,不需要在外部设置。FVSeatsItem 是一个模型类,一个 FVSeatsItem 对象代表在 FVSeatsPicker 上显示的座位信息。最后,我们可以实现 FVSeatsPickerDelegate 方法来获取用户选择的座位信息,并控制用户选择座位时的行为。
FVSeatsPicker 可以作为一个正常 View 添加到视图中,就像我们通常添加其他子控件一样。例如
- (void)viewDidLoad
{
[super viewDidLoad];
FVSeatsPicker *picker = [FVSeatsPicker new];
picker.cellSize = CGSizeMake(24, 24);
picker.minimumZoomScale = 1;
picker.maximumZoomScale = 2;
picker.seatsDelegate = self;
[picker setImage:[UIImage imageNamed:@"seat_available"] forState:UIControlStateNormal];
[picker setImage:[UIImage imageNamed:@"seat_unavailable"] forState:UIControlStateDisabled];
[picker setImage:[UIImage imageNamed:@"seat_selected"] forState:UIControlStateSelected];
[self.view addSubview:picker];
_seatsPicker.frame = CGRectMake(0, 100, kScreenWidth, kScreenHeight * 0.6);
}
我们可以实现 FVSeatsPickerDelegate
方法来获取用户选择的座位信息,并控制用户选择时的行为。
- (BOOL)shouldSelectSeat:(FVSeatItem *)seatInfo inPicker:(FVSeatsPicker* )picker;
- (BOOL)shouldDeselectSeat:(FVSeatItem *)seatInfo inPicker:(FVSeatsPicker* )picker;
- (void)seatsPicker:(FVSeatsPicker* )picker didSelectSeat:(FVSeatItem *)seatInfo;
- (void)seatsPicker:(FVSeatsPicker* )picker didDeselectSeat:(FVSeatItem *)seatInfo;
- (void)selectionDidChangeInSeatsPicker:(FVSeatsPicker *)picker;
请参阅示例项目以获取详细信息。
iOS 7.0 或更高版本。
FVSeatsPicker 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中即可
pod "FVSeatsPicker"
FVSeatsPicker 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。