阻止 UIPickerViewDelegate 方法被触发几秒钟
Hold UIPickerViewDelegate method from being triggered for couple of seconds
在调用它之前,我必须在基础 API 的末尾附加城市名称。我选择 UIPickerView
到 select 所需的城市但是当滚动所需城市的行时,滚动暂停(正如您在滚动长列表时所期望的那样)触发以下 UIPickerViewDelegate
方法:
- (void)pickerView:(UIPickerView *)pickerView
didSelectRow:(NSInteger)row
inComponent:(NSInteger)component
至此,api 调用了错误的城市。有没有其他方式/方法来获得滚动 selection?
UIPickerViewDelegate
调用没有其他方法可以为您提供选定的行。但是,还有其他方法可以实现您正在寻找的效果。
也许您可以做的最简单的事情就是添加一个 UIToolbar
,将其直接放在您的 UIPicker
上方,然后添加一个显示 "Select" 的按钮(或任何您认为合适的词).当用户完成滚动并实际位于所需的城市时,他们可以按下按钮。那时你可以访问 UIPicker
所在的索引:
- (NSInteger)selectedRowInComponent:(NSInteger)component
然后您可以执行您的 API 请求,它将与正确的城市联系起来!
在调用它之前,我必须在基础 API 的末尾附加城市名称。我选择 UIPickerView
到 select 所需的城市但是当滚动所需城市的行时,滚动暂停(正如您在滚动长列表时所期望的那样)触发以下 UIPickerViewDelegate
方法:
- (void)pickerView:(UIPickerView *)pickerView
didSelectRow:(NSInteger)row
inComponent:(NSInteger)component
至此,api 调用了错误的城市。有没有其他方式/方法来获得滚动 selection?
UIPickerViewDelegate
调用没有其他方法可以为您提供选定的行。但是,还有其他方法可以实现您正在寻找的效果。
也许您可以做的最简单的事情就是添加一个 UIToolbar
,将其直接放在您的 UIPicker
上方,然后添加一个显示 "Select" 的按钮(或任何您认为合适的词).当用户完成滚动并实际位于所需的城市时,他们可以按下按钮。那时你可以访问 UIPicker
所在的索引:
- (NSInteger)selectedRowInComponent:(NSInteger)component
然后您可以执行您的 API 请求,它将与正确的城市联系起来!