UIPicker实用代码

来源:互联网 发布:思途cms 缺点 编辑:程序博客网 时间:2024/06/16 13:32

代码编号:Picker1

代码功能:实现UIPickerViewDataSource协议

代码:

 

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

    return 5;

}

- (NSInteger)pickerView:(UIPickerView *)pickerView 

numberOfRowsInComponent:(NSInteger)component

{

    return [self.pickerArray count];

}

 

 

代码编号:Picker2

代码功能:实现UIPickerViewDelegate协议

代码:

// 返回高度和宽度 ,高度是指每一行的高度

- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;

//在picker上显示目前选择component的row中的值,可以是NSString,也可以是UIView。具体的值可以在NSArray或NSDictionary中设置

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;

 

代码编号:Picker3

代码功能:控制picker选择值,一个老虎机的例子

代码:

    BOOL win = NO;

    int numInRow = 1;

    int lastVal = -1;

    for (int i = 0; i < 5; i++)

    {

        int newValue = random() % [self.column1 count];

 

        if (newValue == lastVal)

            numInRow++;

        else

            numInRow = 1;

 

        lastVal = newValue;

        [picker selectRow:newValue inComponent:i animated:YES];

        [picker reloadComponent:i];

        if (numInRow >= 1)

            win = YES;

    }