有没有办法将字段包装在 UIPickerView 中,使其更类似于它正在模拟的内容。一旦我达到最后一个值,我想看到它下面的第一个值。这个 UIPickerView 将能够永远向下滚动,不断重复所有的值。
这可能吗?
有没有办法将字段包装在 UIPickerView 中,使其更类似于它正在模拟的内容。一旦我达到最后一个值,我想看到它下面的第一个值。这个 UIPickerView 将能够永远向下滚动,不断重复所有的值。
这可能吗?
首先添加这个函数:
#define row_to_array_index(row) row%[YourArrayOfRowValues count]
假设您有一个名为 YourArrayOfRowValues 的 NSArray,其中包含每一行的文本。
然后在您的- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
方法中,返回一个大数字(如 10000),并在您的- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
方法中,返回(假设只有 1 个组件)[[self YourArrayOfRowValues objectAtIndex:row_to_array_index(row)];
不会有性能或内存命中。相信我,没有用户会尝试下降 10 000 行。并且在重新加载窗口时,选择最靠近中间的相同数据。