关闭

UIPickerView的用法总结

12662人阅读 评论(1) 收藏 举报

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头文件里面添加以下代码:

  1. #import <UIKit/UIKit.h>  
  2.   
  3.   
  4. @interface PickerView : UIViewController {  
  5.     IBOutlet UIPickerView * mypickerView;//连接的时候记得连上delegate  
  6.     IBOutlet UILabel * mylabel;  
  7.       
  8.     NSArray *pickerViewData;//pickerView的数据  
  9. }  
  10.   
  11. @property(nonatomic,retain) UIPickerView * mypickerView;  
  12. @property(nonatomic,retain) UILabel * mylabel;  
  13. @property(nonatomic,retain) NSArray *pickerViewData;//注意加上这句  
  14.   
  15. -(IBAction) showSelectmessage;//按钮点击事件  
  16.   
  17. @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的数据:

  1. - (void)viewDidLoad  
  2. {  
  3.     NSArray *array=[[NSArray alloc] initWithObjects:@"哈哈",  
  4.                     @"two",  
  5.                     @"three",  
  6.                     @"four",  
  7.                     @"five",  
  8.                     nil];  
  9.       
  10.     self.pickerViewData = array;//注意一定要写self,否则不对  
  11.       
  12.     [array release];  
  13.       
  14.     [super viewDidLoad];  
5.添加界面上按钮的点击事件方法,该方法将pickerView中选中的内容显示在label中:

  1. -(IBAction) showSelectmessage{  
  2.       
  3.     NSInteger row = [mypickerView selectedRowInComponent:0];  
  4.     NSString * mys = [pickerViewData objectAtIndex:row];  
  5.     mylabel.text = mys;  
  6.       
  7.       
  8. }  
6.实现如下方法,设置Picker View视图中的组件(列)数量:

  1. -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView  
  2. {  
  3.     return 1;  
  4. }  

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

  1. -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component  
  2. {  
  3.     return [pickerViewData count];  
  4. }  

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

  1. -(UIView *)pickerView:(UIPickerView *)pickerView  
  2.           titleForRow:(NSInteger)row  
  3.          forComponent:(NSInteger)component  
  4. {  
  5.       
  6.     return [pickerViewData objectAtIndex:row];  
  7. }  


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2472942次
    • 积分:38181
    • 等级:
    • 排名:第118名
    • 原创:1170篇
    • 转载:48篇
    • 译文:1篇
    • 评论:436条
    公告
    大海无边,网际无涯,本博客乃一小站,收集笔记与备忘录,供参考。基本没有原创,又基本全是原创。
    文章分类
    最新评论