PickerView的相关属性用法
来源:互联网 发布:电磁炉和电陶炉 知乎 编辑:程序博客网 时间:2024/06/02 02:06
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>
@property (weak, nonatomic) IBOutlet UIPickerView *picker;
@end
-----------------------------------------------------------------------------------------------------------------
#import "ViewController.h"
@interface ViewController ()
{
// 第一列的数据源
NSArray *_colOne;
// 第二列的数据源
NSArray *_colTwo;
}
@end
@implementation ViewController
/*
在指定PickerView的数据源之前,它是不会显示的
一旦通过PickView的数据源方法指定了数据源,PickerView就可以显示了
*/
- (void)viewDidLoad
{
[super viewDidLoad];
// 定义选择器的数据源
_colOne = @[@"a", @"b", @"c"];
_colTwo = @[@"1", @"2", @"3", @"4", @"5"];
}
#pragma mark - PickerView 数据源方法
// 选择器中的列数(Component)
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 2;
}
// 每一列(Component)的行数(row)
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
if (component == 0) {
return _colOne.count;
} else {
return _colTwo.count;
}
}
#pragma mark - PickerView 代理方法
// 设置component列row行显示的字符串内容
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
if (component == 0) {
return _colOne[row];
} else {
return _colTwo[row];
}
}
// 选中第component列row行的内容
// 参数说明:
// component:当前选中的列
// row:当前选中的行
// 从参数上看,我们不能直接知道所有列和行的选中信息
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
// NSString *leftCol;
// NSString *rightCol;
//
// if (component == 0) {
// // 1. 获取用户当前选中的内容,就是用户用鼠标点的项
// leftCol = _colOne[row];
//
// // 取出第二列选中的行数
// // 通过指定列数,可以获取到其他列当前选中的行数
// // 其他列中的选择情况,需要用代码去获取,不是通过代理方法传递的
//
// // 2. 找第二列当前选中的行数
// NSInteger rightRow = [pickerView selectedRowInComponent:1];
// NSLog(@"第二列选中的行数是 %d", rightRow);
// // 3. 获取第二列当前选中行的内容
// rightCol = _colTwo[rightRow];
// } else {
// // 1. 获取用户当前在第二列选中的内容
// rightCol = _colTwo[row];
//
// // 2. 找到第一列当前选中的行数
// NSInteger leftRow = [pickerView selectedRowInComponent:0];
// NSLog(@"第一列选中的行数是 %d", leftRow);
// // 3. 获取第一列当前选中行的内容
// leftCol = _colOne[leftRow];
// }
NSLog(@"第一列选中的行数是 %d,第二列选中的行数是 %d", [pickerView selectedRowInComponent:0], [pickerView selectedRowInComponent:1]);
NSInteger leftCol = [pickerView selectedRowInComponent:0];
NSInteger rightCol = [pickerView selectedRowInComponent:1];
NSLog(@"%@ ~~~ %@", _colOne[leftCol], _colTwo[rightCol]);
}
@end
0 0
- PickerView的相关属性用法
- pickerView的一些用法
- pickerView的一些用法
- pickerView的一些用法
- PickerView的用法
- pickerView的简单说明
- PickerView 的使用方法
- Android PickerView的实现
- PickerView的封装
- Android-PickerView的使用
- 仿ios的PickerView
- Html的object标签的相关属性和用法
- 有关于 CSS Border 的相关属性的用法
- PickerView
- PickerView
- pickerView
- PickerView
- PickerView
- hdu 5192 Building Blocks Ⅱ && BestCoder Round #34-1003
- shell
- 第二章
- out-of-band data 带外数据
- POJ1363
- PickerView的相关属性用法
- 图片轮播
- Java数据结构---链表常用操作(II)--续
- [省选前题目整理][SPOJ OPTM]Optimal Marks(最小割)
- 改变
- c#属性
- vs2008无法执行添加/移除操作,因为代码元素**是只读的
- BFPRT 算法
- 九度OJ-1107-搬水果