美文网首页IOSiOSiOS知识收藏
选择器 - 日期选择,内容选择

选择器 - 日期选择,内容选择

作者: 居然是村长 | 来源:发表于2016-04-24 00:13 被阅读2076次

https://github.com/skywinder/ActionSheetPicker-3.0

日期选择

    [ActionSheetDatePicker showPickerWithTitle:@"标题"
                                datePickerMode:UIDatePickerModeDate
                                  selectedDate:[NSDate date]
                                   minimumDate:[NSDate dateWithTimeIntervalSinceNow:-30 * 24 * 3600]
                                   maximumDate:[NSDate dateWithTimeIntervalSinceNow:30 * 24 * 3600]
                                     doneBlock:^(ActionSheetDatePicker *picker, id selectedDate, id origin) {
                                         
                                         NSLog(@"%@",selectedDate);
                                         
                                     } cancelBlock:^(ActionSheetDatePicker *picker) {
                                         NSLog(@"cancel");
                                         
                                     } origin:self.view];

内容选择

    [ActionSheetStringPicker showPickerWithTitle:@"title"
                                            rows:@[@"0",@"1",@"2",@"3",@"4"]
                                initialSelection:2
                                       doneBlock:^(ActionSheetStringPicker *picker, NSInteger selectedIndex, id selectedValue) {
                                           
                                           NSLog(@"%ld - %@",(long)selectedIndex, selectedValue);
                                           
                                       } cancelBlock:^(ActionSheetStringPicker *picker) {
                                           
                                           NSLog(@"cancel");
                                           
                                       } origin:self.view];

多重选择

    NSArray *section1 = @[@"0",@"1",@"2",@"3",@"4"];
    NSArray *section2 = @[@"0",@"1",@"2",@"3",@"4"];

    NSArray *sectionData = @[section1,section2];
    NSArray *selectIndex = @[@1,@2];
    
[ActionSheetMultipleStringPicker showPickerWithTitle:@"title"
                                                rows:sectionData
                                    initialSelection:selectIndex
                                           doneBlock:^(ActionSheetMultipleStringPicker *picker, NSArray *selectedIndexes, id selectedValues) {
                                               
                                               NSLog(@"%@",selectedValues);// 也是 数组,对应section1,section2 ...
                                               
                                           } cancelBlock:^(ActionSheetMultipleStringPicker *picker) {
                                               
                                           } origin:self.view];

时区选择

[ActionSheetLocalePicker showPickerWithTitle:@"title"
                            initialSelection:[NSTimeZone defaultTimeZone]
                                   doneBlock:^(ActionSheetLocalePicker *picker, NSTimeZone *selectedValue) {
                                       
                                       NSLog(@"%@",selectedValue);
                                       
                                   } cancelBlock:^(ActionSheetLocalePicker *picker) {
                                       
                                   } origin:self.view];

自定义

如果要自定义的话,其实就是直接写一个PickView 代理。

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    
    [ActionSheetCustomPicker showPickerWithTitle:@"title"
                                        delegate:self
                                showCancelButton:YES
                                          origin:self.view];
}

#pragma mark - ActionSheetCustomPicker Delegate

- (void)actionSheetPicker:(AbstractActionSheetPicker *)actionSheetPicker configurePickerView:(UIPickerView *)pickerView {
    pickerView.delegate = self;
}

- (void)actionSheetPickerDidSucceed:(AbstractActionSheetPicker *)actionSheetPicker origin:(id)origin {
    NSLog(@"success");
}

- (void)actionSheetPickerDidCancel:(AbstractActionSheetPicker *)actionSheetPicker origin:(id)origin {
    NSLog(@"cancel");
}

#pragma mark - PickView Delegete

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
    return 2;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
    return 10;
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
    return @"ertyhjk";// 举例而已
}

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    NSLog(@"%ld - %ld",component, row);
}

1

相关文章

网友评论

  • 起个名字好难O0:我的确定取消是英文. 怎么改成中文呢
    居然是村长:@起个名字好难O0 稍等,我亲测一下,正好要用。
    起个名字好难O0:@说了是村长 是简体中文啊.没毛病的. 但是 确定 取消 是英文
    居然是村长:项目本地语言,改成简体中文即可。
  • 49c9990ff26c:如何隐藏掉多余的日期呢
    居然是村长:@_mry 这个我也不清楚,看样子得自己写喽~
  • feng_dev:iPad 好像不能这么写,不知道怎么弄。。。。
    居然是村长:@伤感的小孩 ,:flushed:
    feng_dev:@说了是村长 开始写的 self.view 后来改成 sender 行了 。
    居然是村长:iPad 一样的吧,就那个 inView 可以选择,弹出是个小的。
  • feng_dev:这个日期选择选择的时候是当前时间,log的时候是 格林尼治时间 ,差了八小时,怎么设置成正确的?
    居然是村长:@Developer_峰 date是标准时间,你显示的时候格式化成字符串,系统默认以当然时区给你转换,你也可以自定义。
  • coma:请问可以二级联动吗
    coma:@说了是村长 好吧,谢啦
    居然是村长:@coma 需要自定义,修改数据源。
  • feng_dev:这个 库 真心不错
    居然是村长:简单好用。

本文标题:选择器 - 日期选择,内容选择

本文链接:https://www.haomeiwen.com/subject/payxrttx.html