您的位置:首页 > 产品设计 > UI/UE

UIPickerView的用法总结

2012-03-23 14:54 423 查看
1.UIPickerView的初始化

pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0f, 200.0f, 320.0f, 216.0f)];

pickerView.delegate = self; //指定Delegate

pickerView.showsSelectionIndicator = YES; //显示选中框

2.实现UIPickerViewDelegate和UIPickerViewDataSource

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView; //返回列数

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component; //返回每列的最大行数

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component; //每一列中每一行的具体内容

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component //选中哪一列哪一行

[mypicker selectRow:(NSInteger)3 inComponent:0 animated:YES];

一个示例:

1.在.h头文件里面添加以下代码:

[cpp] view
plaincopy

#import <UIKit/UIKit.h>

@interface PickerView : UIViewController {

IBOutlet UIPickerView * mypickerView;//连接的时候记得连上delegate

IBOutlet UILabel * mylabel;

NSArray *pickerViewData;//pickerView的数据

}

@property(nonatomic,retain) UIPickerView * mypickerView;

@property(nonatomic,retain) UILabel * mylabel;

@property(nonatomic,retain) NSArray *pickerViewData;//注意加上这句

-(IBAction) showSelectmessage;//按钮点击事件

@end

2.在xib文件里面添加一个pickerView,一个button,一个label,如下图所示,要实现的功能是在pickerView里面滚动选择某一项,然后点击“点我显示选择的信息”按钮将pickerView中选中的内容显示在最下面的label中:



3.连接各项,将view中的Picker View与mypickerView连接,将“点我显示选择的信息”button的Touch Up Inside事件与showSelectmessage方法相连,将view中label与mylabel相连,将view中Picker View的dataSource和delegate连接到File‘s Owner,如下图所示:



4.在viewDidLoad方法中添加如下代码,初始化pickerView的数据:

[cpp] view
plaincopy

- (void)viewDidLoad

{

NSArray *array=[[NSArray alloc] initWithObjects:@"哈哈",

@"two",

@"three",

@"four",

@"five",

nil];

self.pickerViewData = array;//注意一定要写self,否则不对

[array release];

[super viewDidLoad];

5.添加界面上按钮的点击事件方法,该方法将pickerView中选中的内容显示在label中:

[cpp] view
plaincopy

-(IBAction) showSelectmessage{

NSInteger row = [mypickerView selectedRowInComponent:0];

NSString * mys = [pickerViewData objectAtIndex:row];

mylabel.text = mys;

}

6.实现如下方法,设置Picker View视图中的组件(列)数量:

[cpp] view
plaincopy

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

return 1;

}

7.实现如下方法,设置Picker View视图中显示的项(行)数:

[cpp] view
plaincopy

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

{

return [pickerViewData count];

}

8.实现如下方法,将pickerviewData数据填充到Picker View中:

[cpp] view
plaincopy

-(UIView *)pickerView:(UIPickerView *)pickerView

titleForRow:(NSInteger)row

forComponent:(NSInteger)component

{

return [pickerViewData objectAtIndex:row];

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: