一个自定义视图组件,能够让用户堆叠选择视图。
将依赖项添加到您的 Podfile
platform :bios
pod 'TWRPickerSlider’, ‘~> 1.0’
...
运行 pod install
来安装依赖项。
接下来,在您想要使用选择器的任何地方导入头文件
#import "TWRSliderStackedView.h"
#import "TWRPickerSlider.h"
您应该首先按照以下方式初始化您的 TWRPickerSlider
TWRPickerSlider *slider1 = [[TWRPickerSlider alloc] init];
…并为选择器分配一些对象
slider1.pickerObjects = @[obj1, obj2, obj3];
传递给选择器的对象可以是任何类型,前提是它们符合 TWRPickerSliderDatasource
协议。该协议只需用户实现以下方法,该方法返回选择器将显示的对象的字符串
- (NSString *)twr_pickerTitle;
然后设置选择器代理为您视图控制器并实现 TWRPickerSliderDelegate
协议
// Set Delegate
slider1.delegate = self;
// TWRPickerSliderDelegate
- (void)objectSelected:(id<TWRPickerSliderDatasource>)selectedObject sender:(TWRPickerSlider *)sender{
NSLog(@"Selected object: %@", [selectedObject twr_pickerTitle]);
}
最后将您的 TWRPickerSlider
实例添加到视图中。当按下时,它将自动定位到视图的底部并动画/滑动。
或者,如果同时需要显示多个选择器,您可以实例化一个 TWRSliderStackedView
对象,并将其分配为一个 TWRPickerSlider
数组。
TWRSliderStackedView *stack = [[TWRSliderStackedView alloc] init];
stack.sliders = @[slider1, slider2, slider3];
[self.view addSubview:stack];
堆叠视图将定位到当前视图的底部。如果您是在标签栏控制器内工作,或者如果不想让堆叠视图固定在视图控制器底部,可以使用下面两个方法之一
- (instancetype)initWithBottomPadding:(NSUInteger)padding;
- (instancetype)initWithTabBar;
请参阅示例项目以获取更多详细信息。
TWRPickerSlider
需要 iOS 7.x 或更高版本。
使用提供受 MIT许可证。有关详细说明,请参阅LICENSE。