//返回某一列的选中行,-1表示没有选中行 [pickView selectedRowInComponent:0]; UIPickerView的代理方法 UIPickerView的代理方法有两个UIPickerViewDelegate UIPickerViewDelegate代理方法设置UIPickerView的内容。 @protocol UIPickerViewDelegate<NSObject>@optional // 反回pickerView的宽度 - (CGFloat)pickerView:(UIPickerView ViewController.m // 01-点菜系统 #import "ViewController.h" @interface ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate component { NSArray *items = self.foodsData[component]; return items.count; } #pragma mark UIPickerViewDelegate
管理 外观 和 响应 UIPickerViewDelegate 简介 : -- CGFloat 类型 : 32 位机器上是 float 类型, 64 位机器上是 double 类型; typedef 委托方法; /* UIPickerViewDelegate 委托方法, 该方法返回指定列的 指定 选项 的值 row 参数 : 行 索引 component 参数 : 列 索引 委托方法; /* UIPickerViewDelegate 委托方法, 当选中某个选项时 激发的方法 row 参数 : 选中选项所在的列的索引 component 参数 : All rights reserved. // #import <UIKit/UIKit.h> /* 实现 UIPickerViewDelegate 和 UIPickerViewDataSource 两个协议 */ @interface OCViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource
plist.png 实现步骤 第一步 拖入一个UIPickerView到StoryBoard中,然后设置UIPickerViewDelegate,和UIPickerViewDataSource为当前的控制器 .png 第二步 在对应的ViewController中进行实现,代码注释非常详细 #import "ViewController.h" @interface ViewController () <UIPickerViewDelegate
nonatomic,assign) id<UIPickerViewDataSource> dataSource; @property(nonatomic,assign) id<UIPickerViewDelegate
我们初始化一个 UIPickerView 并把它显示在屏幕上, 要显示国家列表, 则需要指定数据源并实现 UIPickerViewDataSource 协议中定义的方法, 为了能收到用户选择的选项, 还需要实现 UIPickerViewDelegate
CJYearMonthSelectedView.m 2 3 #import "CJYearMonthSelectedView.h" 4 5 @interface CJYearMonthSelectedView () <UIPickerViewDelegate end 这里面跟着流程看其实很简单哈,主要需要说明的一点就是UIPickerView的用法,UIPickerView其实和UITableView很类似,在初始化的时候需要设置其数据代理和视图代理(UIPickerViewDelegate
tableviewcell变成第一响应者时,它就会自动呼出inputView和inputAccessoryView; @interface MyTableViewCell : UITableViewCell<UIPickerViewDelegate
说白了最核心就是对UIPickerViewDelegate和UIPickerViewDataSource两个代理中的相应的方法的封装。
province.count } else { return city.count } } } extension ViewController: UIPickerViewDelegate { // UIPickerViewDelegate // 该方法会调用多次 根据numberOfRowsInComponent的返回值决定 // 每一次调用就应该返回一个数据