저는 UIPickerView에서 행 반복을 사용하는 App을 개발하고 있습니다. 아무도 나를 도울 수 있습니까? 누군가가 해결책을 게시한다면 큰 도움이 될 것입니다. 나는 UIPickerView의 행을 종점이없는 순환 방식으로 연속적으로 원한다.우리는 UIDatePicker에서 UIPickerView에서 행을 루핑 할 수 있습니까?
1
A
답변
2
가능합니다. 누구에게나 시도해보십시오. this.
1
나는 그것이 가능하지 않다고 생각합니다. 나는 많은 사람들이 가치 목록을 반복적으로 반복하고 가운데 어딘가에서 사용자를 시작한다고 들었다.
0
메모리가 작동하는 것처럼 작동합니다. 표시되지 않은 항목은 저장되지 않으므로 목록이 커질 수 있다고 말했습니다. 걱정되는 경우 프로파일 러에 문의하십시오. 많은 수의 행을 설정하고 높은 값으로 시작하는 것이 쉽기 때문에 사용자가 매우 오랜 시간 동안 휠을 스크롤 할 가능성은 거의 없습니다. - 그렇더라도 그보다 더 나쁜 것은 그들이 일어나면 바닥에 떨어질 것입니다.
(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
// Near-infinite number of rows. use NSIntegerMax, if memory problem, use less say 2000
return 2000;
}
(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
// Row n is same as row (n modulo numberItems).
return [NSString stringWithFormat:@"%d", row % numberItems]; // or your strings (this is for double. numberItems is your list size.
}
(void)viewDidLoad {
[super viewDidLoad];
self.pickerView = [[[UIPickerView alloc] initWithFrame:CGRectZero] autorelease];
// ...set pickerView properties... Look at Apple's UICatalog sample code for a good example.
// Set current row to a large value (adjusted to current value if needed).
[pickerView selectRow:3+1000 inComponent:0 animated:NO]; //pick about half the max you made earlier or about 100000 if using NSIntegerMax
[self.view addSubview:pickerView];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
NSInteger actualRow = row % numberItems; //nb numberItems is your list size
// ...
}
존