2009-03-19 3 views
2

세 구성 요소 (전화 걸기)가있는 UIPickerView가있는 경우. 피커가 두 개의 다이얼이 동시에 회전하는 것을 어떻게 처리합니까? 예를 들어, 사용자는 자유롭게 회전하는 첫 번째 다이얼을 쓸어 넘기고 두 번째 다이얼의 선택 항목을 즉시 클릭합니다.UIPickerView는 2 개 이상의 다이얼이 회전하는 것을 어떻게 처리합니까?

피커에서 다음을 수행하고 있습니다. 하나의 다이얼이 돌고 있다면, 나는 그 가치를 포착하지 않는다. 다이얼이 한 번에 하나씩 회전 할 때만 값을 캡처합니다.

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ 

if(component == 0){ 
    dateEndCenturyText = (NSString *)[dateCentury objectAtIndex:row]; 
} 
else if(component == 1){ 
    dateEndDecadeText = (NSString *)[dateYear objectAtIndex:row]; 

} 
else if(component == 2){ 
    dateEndYearText = (NSString *)[dateYear objectAtIndex:row]; 
} 

두 개의 다이얼이 돌고 있어도 값을 캡처하는 더 좋은 방법이 있습니까?

답변

2

가장 강력한 솔루션은 이벤트가 발생할 때마다 세 가지 값을 모두 업데이트하는 것일 수 있습니다.

UIPickerView selectedRowInComponent : - (NSInteger) selectedRowInComponent

가 주어진 구성 요소

에서 선택한 행의 인덱스를 돌려 다음과 같은 방법을 사용하여 UIPickerView의 모든 구성 요소의 선택된 행을 검색 할 수 있습니다 : (NSInteger) 구성 요소

희망이 있습니다.

+0

와우! 지금까지 정말 잘됐다. 감사. – 4thSpace

관련 문제