2

如果我有一个带有三个组件(表盘)的 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];
}

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

4

1 回答 1

2

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

UIPickerView selectedRowInComponent:

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

- (NSInteger)selectedRowInComponent:(NSInteger)组件

希望这可以帮助!

于 2009-03-19T19:25:33.243 回答