2009-11-11 3 views
1

Есть ли способ обернуть поля в UIPickerView, чтобы он более точно напоминал то, что он имитирует. Как только я доберусь до последнего значения, я хочу увидеть первое значение ниже. Этот UIPickerView сможет прокручивать навсегда, непрерывно повторяя все значения.Wrap UIPickerView?

Возможно ли это?

+0

То, что вы пытаетесь сказать, делает его круглым *. – mk12

ответ

0

Сначала добавьте эту функцию:

#define row_to_array_index(row) row%[YourArrayOfRowValues count] 

при условии, вам NSArray называется YourArrayOfRowValues, который содержит текст для каждой строки.

Тогда в вашем методе - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component, возвращать большое количество (например, 10000), а также в вашем - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component метода, возврат (предполагается, что только один компонент) [[self YourArrayOfRowValues objectAtIndex:row_to_array_index(row)];

Там не будет никакого представления или память хита. Ни один пользователь никогда не попытается спуститься на 10 000 рядов, поверьте мне. И когда окно будет перезагружено, выберите те же самые данные, которые ближе всего к середине.