2012-06-22 3 views
0

나는 UIPickerView에 3 행 데이터 즉 timeHour, timeMinute, timeSecond가 있습니다. 데이터를 수집하는 방법을 UIPickerView에서 선택한 후 내 라벨에 표시 하시겠습니까? 아래 코드를 사용하지만 첫 번째 행 데이터 (timeHour) 만 수집합니다. MM : SS (즉 99 가정 해 봅시다 : 59 : 59)> HH -3 행에서 데이터를 수집 UIPickerView

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    labelTime.text = [timeHour objectAtIndex:[picker selectedRowInComponent:0]]; 
} 

는 제가 labelTime에 표시 할 것은이 같은 것입니다. 그리고 내가 UIPickerView를 00 : 00 : 00에 다시 시작한 후에/다시 설정하는 방법은 무엇입니까?

죄송합니다, 저는 여기에 새거야. 도와 줘서 고마워.

+0

여기에서 피커 뷰의 스크린 샷을 넣을 수 있습니까? 나는 조금 혼란 스럽다. – Abhishek

답변

0

사실, 난 항상 열로 선택기의 항목 생각 :

당신이 말하는 기능에 대한 때마다 누군가가 선택기에서 다른 열 중 하나 회전 호출됩니다.

난 당신이 가지고있는 위임 코드의 외부 프라 사드에 의해 언급 한대로, 다음

00:00:00마다보기를 재설정하는 등
NSString* hour = [timeHour objectAtIndex:[picker selectedRowInComponent:0]]; 
NSString* min = [timeMin objectAtIndex:[picker selectedRowInComponent:1]]; 
NSString* sec = [timeSec objectAtIndex:[picker selectedRowInComponent:2]]; 
labelTime.text = [hour stringByAppendingFormat:@":%@:%@", min, sec]; // don't forget to 0-pad if desired 

같은 뭔가가 필요 거라고 기대하면 reloadAllComponents를 호출 한 다음 dataSource에서 반환 된 초기 값을 모두 0으로 만들 수 있습니다.

+0

와우, 나를 구하고있다! 고맙습니다! – Piyo

0

이 코드를 작성하십시오.

[yourPickerView reloadAllComponents]; 

나는 그것이 당신에게 도움이 될 것이라고 생각합니다.

+0

미안하다, 나는 벌써 그것을 넣었다. 그러나 변화가 없다. 매번 피커를 호출하고 다시 닫은 다음 다시 열면 포지션은 여전히 ​​동일하고 재설정되지 않습니다. 그렇지 않으면, 나는 그것을 잘못된 장소에 넣었습니까? 어떠한 제안? 고맙습니다. – Piyo