您的位置:首页 > 移动开发 > IOS开发

IOS-OC之高级组件PickerView之一

2016-02-02 12:13 357 查看
学了一段时间,边学边忘,所以决定把学的过程和遇到的问题记录下来~~~共勉之。

一:纯PickerView的展示

代码:

.h文件的代码

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIPickerViewDelegate, UIPickerViewDataSource>
{
//  数据源的数组声明
NSArray *pickerArray;
}
@property (strong, nonatomic) IBOutlet UIPickerView *selectPicker;
@end


.m文件的代码

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
//组件的轮数
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}
//返回组件行数,实际就是数据源数组的count
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [pickerArray count];
}
//给组件设置每行的内容
-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return [pickerArray objectAtIndex:row];
}
- (void)viewDidLoad {
[super viewDidLoad];
//数据源数组初始化
pickerArray = [NSArray arrayWithObjects:@"动物",@"植物",@"石头",@"天空",@"大海",@"星星",@"月亮",@"太阳", nil];
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end




dataSource和dalegate一定要拖对了,刚开始我就拖到了view上,看了半天没发现,最后才发现,一定要拖到File’s Owner上,否则会报错。

不拖的话,在代码中实现也可以,在.m文件中初始化的时候加上

_selectPicker.delegate = self;
_selectPicker.dataSource = self;


刚开始学还是很痛苦的,各种报错,各种看不懂,各种不理解,慢慢来,加油!!!

补充:

获取组件的值

NSInteger row = [_selectPicker     selectedRowInComponent:0];
NSString * mys = [pickerArray objectAtIndex:row];


mys就是当前选取的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IOS OC PickerView 展示