2011-09-28 3 views
6

위임 메소드를 사용하여 행이 유효한지 확인한 후 올바르지 않은 것으로 스크롤하는 방법을 가르치는 게시물을 찾을 수 있습니다.특정 UIPickerView 항목에서 선택을 해제 할 수 있습니까?

하지만 그건 내가 원하는 것이 아닙니다. pickerView를 초기화 한 후 특정 행을 비활성화 할 수 있습니까? 행을 "그레이 아웃"하고 표시기를 중지 할 수 없습니다.

감사합니다.

답변

10

이렇게하는 데는 두 부분이 있습니다.

  1. 사용 -[<UIPickerViewDelegate> pickerView:viewForRow:forComponent:reusingView:] 그런 UILabel로, 각 행에 대해 사용자 지정보기를 반환합니다. 비활성화 된 것으로 표시하려는 행의 경우 비활성화 된 값을 반영하도록보기를 구성해야합니다.
  2. -[<UIPickerViewDelegate> pickerView:didSelectRow:inComponent:]에서 사용할 수없는 항목을 선택하면 -[UIPickerView selectRow:inComponent:animated:]을 사용하여 "유효한"행으로 "롤백"해야합니다.
+1

내가 지금 어떤 생각을 가지고 감사합니다. – mineschan

+1

정보를 제공해 주셔서 감사합니다 ... 완벽하게 작동합니다 .... – iOSAppDev

0

또한 단지 구현에 빈을 떠날 수, 예컨대 :

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 
    if(row==0){ 
//Code 
} 
if(row==1){ 

//BLANK 

} 
if(row==2){ 
//Code 
} 
관련 문제