UIPickerView 控件的简单使用

 UIPickerView 是iOS常用的控件之一,它通过轮转界面提供一系列多值选项,它向用户展示信息,也能收集用户输入。下面是一个普通的UIPickerView控件。

        

    使用UIPickerView控件需要遵守两种协议,一种是UIPickerViewDelegate,另一种是UIPickerViewDataSource

    UIPickerViewDelegate协议的方法有:

        1.  -(NSString *) pickerView: (UIPickerView * )pickerView

                                  titleForRow: (NSInteger) row

                              forComponent: (NSInterger) component

      该方法根据指定的行号返回该行的标题。

       2.  -(void) pickerView: (UIPickerView *)pickerView 

                   didSelectRow: (NSInteger)row

                   inComponent: (NSInteger)component

            当用户选择某个row时,picker view调用此函数

       3.  - (CGFloat) pickerView:(UIPickerView *)pickerView 

         rowHeightForComponent: (NSInteger) component

            由picker view调用,当其在绘制row内容,需要row的高度时

       4.  - (CGFloat)pickerView: (UIPickerView *)pickerView 

              widthForComponent:(NSInteger) component

            当picker view 需要row的宽度时,调用此函数

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

                           viewForRow:(NSInteger) row 

                        forComponent:(NSInteger) component

                           reusingView:(UIView *) view

            当picker view需要给指定的component.row指定view时,调用此函数.返回值为用作row内容的view

    UIPickerViewDataSource协议的方法有:

      1.  -(NSInteger) numberOfComponentslnPickerView: (UIPickerView *) pickerView

           该方法返回UIPickerView需要多少个组件(有多少列)。

      2.  -(NSInteger) pickerView: (UIPickerView *) pickerView

     numberOfRowsInComponet: (NSInteger) component

           该方法返回指定组件包含多少行。

    常用方法:

      1.  - (NSInteger) numberOfRowsInComponent:(NSInteger)component

          返回指定的component中行数

     2.  -(void) reloadAllComponents

          重新载入所有新数据

     3.  -(void) reloadComponent: (NSInteger) component

          重新载入指定列的数据

     4.  -(CGSize) rowSizeForComponent: (NSInteger) component

          返回值为给定列的行大小, 通过调用委托方法中的pickerView:widthForComponent:和pickerView:rowHeightForComponent:获得返回值

     5.  -(NSInteger) selectedRowInComponent: (NSInteger) component

          返回指定列被选中行的序号,若无row被选中,则返回-1

     6.  -(void) selectRow: (NSInteger)row 

                 inComponent: (NSInteger)component

                      animated: (BOOL)animated

          在代码指定要选择的某component的某row

          参数animated 若为YES,转动spin到你选择的新值;若为NO,直接显示你选择的值

     7.  -(UIView *) viewForRow: (NSInteger)row 

                         forComponent: (NSInteger)component

          返回由委托方法pickerView:viewForRow:forComponentreusingView:指定的view.如果委托方法未实现,或者说这个view并不是可见的,则返回nil

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值