iOS 自定义选择框代码分享 iOS 自定义选择框是 iOS 开发中常见的一种控件,它可以让用户选择多个选项。下面将详细介绍 iOS 自定义选择框的实现代码和相关知识点。 一、iOS 自定义选择框的实现 iOS 自定义选择框的实现主要涉及到两部分:一是自定义选择框的视图层次结构,二是自定义选择框的 delegate 机制。 1. 自定义选择框的视图层次结构 在 iOS 中,自定义选择框的视图层次结构可以使用 UIView 或者 UITableView 实现。在这个示例代码中,我们使用了 CYCustomMultiSelectPickerView 这个自定义的视图控件,它继承自 UIView。这意味着我们可以使用 CYCustomMultiSelectPickerView 来承载选择框的视图层次结构。 CYCustomMultiSelectPickerView.h ```objective-c #import <UIKit/UIKit.h> @protocol CYCustomMultiSelectPickerViewDelegate <NSObject> -(void)returnChoosedPickerString:(NSMutableArray *)selectedEntriesArr; @end @interface CYCustomMultiSelectPickerView : UIView @property (nonatomic, weak) id<CYCustomMultiSelectPickerViewDelegate> multiPickerDelegate; @property (nonatomic, strong) NSMutableArray *entriesArray; @property (nonatomic, strong) NSMutableArray *entriesSelectedArray; -(void)pickerShow; @end ``` 2. 自定义选择框的 delegate 机制 在 CYCustomMultiSelectPickerView 中,我们定义了一个 delegate protocol,称为 CYCustomMultiSelectPickerViewDelegate。这个 delegate protocol 中只有一个方法,即 returnChoosedPickerString,这个方法将被用来处理用户选择的结果。 ```objective-c -(void)returnChoosedPickerString:(NSMutableArray *)selectedEntriesArr{ NSLog(@"returnChoosedPickerString"); NSMutableArray* newArray = [NSMutableArray arrayWithArray:selectedEntriesArr]; pickLabel.text = [newArray componentsJoinedByString:@","]; } ``` 在 RootViewController 中,我们实现了 CYCustomMultiSelectPickerViewDelegate protocol,这样我们就可以处理用户选择的结果。 ```objective-c #pragma mark - CYCustomMultiSelectPickerViewDelegate -(void)returnChoosedPickerString:(NSMutableArray *)selectedEntriesArr{ NSLog(@"returnChoosedPickerString"); NSMutableArray* newArray = [NSMutableArray arrayWithArray:selectedEntriesArr]; pickLabel.text = [newArray componentsJoinedByString:@","]; } ``` 二、iOS 自定义选择框的使用 在这个示例代码中,我们使用了 CYCustomMultiSelectPickerView 来实现自定义选择框的功能。下面是我们如何使用 CYCustomMultiSelectPickerView 的: 1.我们需要在 RootViewController 中创建一个 CYCustomMultiSelectPickerView 实例,并将其添加到视图层次结构中。 ```objective-c -(void)initPickerView{ for (UIView *view in self.view.subviews) { if ([view isKindOfClass:[CYCustomMultiSelectPickerView class]]) { [view removeFromSuperview]; } } multiPickerView = [[CYCustomMultiSelectPickerView alloc] initWithFrame:CGRectMake(0,[UIScreen mainScreen].bounds.size.height - 260-20, 320, 260+44)]; multiPickerView.backgroundColor = [UIColor clearColor]; multiPickerView.entriesArray = [NSMutableArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five",@"six",@"seven", nil]; multiPickerView.entriesSelectedArray = [NSMutableArray arrayWithObject:@"one"]; multiPickerView.multiPickerDelegate = self; [self.view addSubview:multiPickerView]; [multiPickerView pickerShow]; } ``` 2.接下来,我们需要实现 touchesBegan 方法来处理用户的点击事件。 ```objective-c -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self initPickerView]; } ``` 三、总结 本文介绍了 iOS 自定义选择框的实现代码和相关知识点,我们可以使用 CYCustomMultiSelectPickerView 来实现自定义选择框的功能,并使用 delegate 机制来处理用户选择的结果。如果你感兴趣的小伙伴们可以参考一下本文的示例代码,供大家参考。
- 粉丝: 6
- 资源: 946
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助