如果我有一个带有三个组件(拨号盘)的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];
}
即使两个刻度盘旋转,是否有更好的方法来确保捕获值?
答案 0 :(得分:2)
最强大的解决方案可能是每次事件触发时更新所有三个值。您可以使用以下方法检索UIPickerView中任何组件的选定行:
UIPickerView selectedRowInComponent:
返回给定组件中所选行的索引
- (NSInteger)selectedRowInComponent:(NSInteger)组件
希望这有帮助!