2011-01-21 2 views
4

UIPickerView 열을 어떻게 비활성화 할 수 있습니까?UIPickerView 비활성화 열

피커 열을 하나만 비활성화하려고합니다. 말은 내가 3 열의 선택기가 있고 두 번째 열을 비활성화하고 싶다고하자.

+0

마우스? 나는 당신이 문제를보다 자세하게 설명 할 시간을 가질 필요가 있다고 생각합니다. 왜냐하면 그것은 지금은별로 의미가 없기 때문입니다. –

+0

정교하게 부탁드립니다. 전체 선택기 선택 또는 하나의 열에서 상호 작용을 원하지 않습니까? – Sudhanshu

+0

피커의 열을 하나만 비활성화하려고합니다. 말은 내가 3 열의 선택기가 있고 두 번째 열을 비활성화하고 싶다고하자. – altosh

답변

0

열을 비활성화 할 수있는 방법이없는 것 같습니다.

  1. 는 "이미지"로 열을 얻을 수 (스냅 샷)
  2. 그레이 스케일 "이미지"
  3. 세트 "이미지보기"사용자 상호 작용이 가능
  4. 추가 "이미지보기 :이 같은 (안 최고의 솔루션을) 해결 "서브 뷰로 피커로 이동

더 좋은 방법이 있다면 그것은 좋을 것입니다.

1

몇 가지 옵션이 있습니다.

1) 두 번째 열과의 상호 작용을 캡처하여 무시합니다.

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

이 방법을 구현하면 선택 이전의 위치로 돌아갈 수 있습니다. 그러나 두 번째 열과 계속 상호 작용할 수 있습니다.

2) 단순히 피커에서 기둥을 제거하십시오.

나는 이것이 최선의 선택이라고 생각합니다. 부울 'showSecondColumn'을 사용하십시오. 그런 다음에 :

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 

작은 플래그를 확인하고 적절한 숫자를 반환하면됩니다. UIPickerView에는 메서드가 있습니다. reloadAllComponents

행운을 빌어 요!

+0

예, 가장 좋은 해결책은 해당 열을 제거하는 것입니다. 하지만 필자의 경우 모든 열을 볼 수 있어야하고 일부 열의 사용자 상호 작용을 사용하지 않도록 설정해야합니다 (바퀴를 돌리지 않아야 함). 시각적으로는 사용하지 않도록 설정해야합니다. 고마워, 내 영어로 미안해. – altosh