UIPickerView如何处理2+拨号旋转?

时间:2009-03-19 04:52:05

标签: iphone cocoa-touch uipickerview

如果我有一个带有三个组件(拨号盘)的UIPickerView。拾取器如何处理两个刻度盘同时旋转?例如,用户可以轻弹第一个表盘,该表盘自由旋转并立即慢慢点击第二个表盘上的选择。

我在选择器中执行以下操作。如果一个表盘旋转,我不会捕捉它的值。我只在刻度盘一次旋转时捕捉值。

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

if(component == 0){
    dateEndCenturyText = (NSString *)[dateCentury objectAtIndex:row];
}
else if(component == 1){
    dateEndDecadeText = (NSString *)[dateYear objectAtIndex:row];

}
else if(component == 2){
    dateEndYearText = (NSString *)[dateYear objectAtIndex:row];
}

即使两个刻度盘旋转,是否有更好的方法来确保捕获值?

1 个答案:

答案 0 :(得分:2)

最强大的解决方案可能是每次事件触发时更新所有三个值。您可以使用以下方法检索UIPickerView中任何组件的选定行:

  

UIPickerView selectedRowInComponent:

     

返回给定组件中所选行的索引

     

- (NSInteger)selectedRowInComponent:(NSInteger)组件

希望这有帮助!