2014-03-24 2 views
2

사용자가 UIPickerView을 사용하는 UITextField을 작성하여 사용자가 상태 목록에서 선택할 수있게했습니다. 보기를 닫으려면 입력보기를 닫으려는 작업에 응답하는 UIBarButton이 들어있는이 입력에 액세서리보기로 UIToolbar을 추가해 보았습니다.UITextField에 대한 UIToolbar 액세서리보기 응답 없음

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // Load state names. 
    NSString* file = [[NSBundle mainBundle] pathForResource:@"States" ofType:@"plist"]; 
    self.states = [[NSArray alloc] initWithContentsOfFile:file]; 

    // Initialize the picker view. 
    self.picker = [[UIPickerView alloc] init]; 
    [self.picker setDelegate:self]; 

    // Initialize the button view. 
    toolbar = [[UIToolbar alloc] init]; 
    [toolbar setDelegate:self]; 
    [toolbar setBarStyle:UIBarStyleDefault]; 

    done = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(resignFocus:)]; 

    [toolbar setItems:[NSArray arrayWithObjects:done, nil] animated:YES]; 

    // Set the picker view as the state field input view. 
    // Also set the done button as it's accessory. 
    [[self state] setInputView:self.picker]; 
    [[self state] setInputAccessoryView:self.toolbar]; 
} 

내가 특정 텍스트 필드에 선택기를 편집을 시작하고 모두 표시 도구 모음이 코드 : 여기에 대한 코드입니다. 문제는 버튼과 상호 작용할 수 없다는 것이지요. 단추가 단추처럼 강조 표시되지 않고 작업이 실행되지 않습니다. 피커 뷰가 도구 모음과 어떻게 겹쳐서 입력이 도달하지 못하게 할 수 있습니까?

iOS7 용으로 개발 중이며 시뮬레이터를 사용하여 테스트 중입니다.

+0

예. 대체적으로 버튼과 겹치는 부분이 있습니다. –

답변

3

UIToolbar에는 기본 프레임이 없으므로 도구 모음의 크기는 {0, 0}입니다. ClipsToBounds는 기본적으로 NO이므로 Done 버튼을 볼 수 있습니다. 도구 모음에 프레임을 지정하면 단추가 작동하기 시작합니다.

관련 문제