如何获取UIPickerView中每个组件的行号

时间:2010-12-02 15:53:54

标签: iphone objective-c uipickerview

如何获取UIPickerView中每个组件的行号?

我有UIPickerView Whit 3组件:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

第二个问题是我如何改变每个组件的宽度?

1 个答案:

答案 0 :(得分:2)

您可能正在从数组中填充UIPickerView;在

的调用中使用row参数
[dataArray objectAtIndex:row];

获取数据。如果您需要知道总行数,只需使用[dataArray count];来获取数据源的大小。

编辑:我忘记了如果您遵循协议,您将实施此方法:

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

    NSInteger numRows = 0;
    switch (component) {
    case 0:
        numRows = 6;
        break;
    case 1:
        numRows = 3;
        break;
    case 2:
        numRows = 2;
        break;
    default:
        break;
    }
    return numRows;
}

因此,您实际上是在告诉系统每个组件有多少行。检查一下,或者继续实施它,你就会得到答案!

编辑2:如果要获取每个组件中当前选定的行,请使用:

[yourPickerView selectedRowInComponent:1];

根据您的需要多次。我建议循环遍历所有组件并使用此方法获取所选行。