我想用 2 个组件创建一个 UIPicker,它们都有数字。在第一个左侧选择器中选择的数字必须小于(或等于)在第二个选择器中选择的数字。我希望这两个组件同步,如果我向下滚动例如第一个,并且第一列中选择的数字等于第二列中选择的数字,那么我希望第二列自动向下滚动继续向下滚动第一个。我是 iphone 开发新手,你能帮我写代码吗?非常感谢你!
丹尼尔
我认为这种即时同步是不可能的。您可以通过适当地响应以下 UIPickerViewDelegate 方法来保持两个组件同步:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
唯一的问题是这个函数在轮子完成运动后的几毫秒内被调用,所以你只能在轮子停止运动后同步轮子。因此,您可能延迟了同步(只需查看 UIDatePicker 尝试插入错误日期时的行为,例如 6 月 31 日),但不是即时同步(除非您构建完全自定义的视图)。