2010-03-01 4 views
2

두 구성 요소가있는 UIPickerView가 있습니다. 사용자가 원하는 값에 도달 할 때까지 각 구성 요소를 스크롤 할 때 제대로 작동합니다. 하지만 캘린더 나 시계 앱에서 피커처럼 행동해야합니다. 의미 : 사용자가 구성 요소 중 하나에서 특정 값을 누르면 그 구성 요소가 해당 행을 선택한 행으로 자동 전환하도록합니다 (사용자가 항상 스크롤하지 않아도되므로 간단히 값을 선택할 수 있음). 그들은 원한다).UIPickerView 행 선택

누구든지 어떻게하는지 압니까?

그것은 표준 선택기 동작이며 그렇게 자동으로 작동합니다,

~ Chonch

+0

UIDatePicker를 원하십니까 (http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIDatePicker_Class/Reference/UIDatePicker.html)? – kennytm

+0

아니요 두 구성 요소가있는 사용자 지정 선택기가 필요합니다. –

답변

0

을 주셔서 감사합니다.

탭 행을 선택하지 않는 선택 도구가 자동으로 선택 도구의 데이터 소스의 viewForRow: 방법에서 돌아보기 위해 NO-userInteractionEnabled 속성을 설정하려고하면

.

+0

viewForRow에 대한 반환 값으로 UILabel과 함께 UIView를 사용합니다. UILabel과 UIView 모두에 대해 userInteractionEnabled를 추가하려고했지만 도움이되지 않습니다. 다른 옵션을 생각해 볼 수 있습니까? –

+0

viewForRow : 메서드를 게시 할 수 있습니까? – Vladimir

+0

if (구성 요소 == 0) \t { \t \t 스타일 * curStyle = [self.styleArray objectAtIndex : row]; \t \t \t \t // 현재 부분 \t \t CGRect 프레임 CGRectMake = (0, 0, 120, 46)에 대한보기를 생성; \t \t UIView * view = [[UIView alloc] initWithFrame : frame]; \t \t \t \t // 품명 \t \t 프레임 CGRectMake = (10, 0, 110, 46)을 추가; \t \t UILabel * lbl = [[UILabel alloc] initWithFrame : frame]; \t \t lbl.text = curStyle.styleName; \t \t lbl.backgroundColor = [UIColor clearColor]; \t \t [view addSubview : lbl]; \t \t [lbl 방출]; \t \t view.userInteractionEnabled = YES; \t \t \t \t 반환보기; \t} \t else \t \t return [self.partsArray objectAtIndex : row]; –