3

UIBarItem は、UITextField の inputAccessoryView として設定されている UIToolbar 内のクリックに応答しません。

ボタンをクリックしようとしてもクリック アニメーションが表示されず、コールバックが呼び出されません。私のセットアップは次のようになります。

@interface MyViewController()
@property (weak, nonatomic) IBOutlet UITextField *closeDateTextField;
@property (strong, nonatomic) UIToolbar * datePickerToolbar;
@end

ボタンでツールバーをセットアップします:

- (void)viewDidLoad {

    self.datePickerToolbar = [[UIToolbar alloc] init];
    UIBarButtonItem * doneBtn =
        [[UIBarButtonItem alloc]
                initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                target:self
                action:@selector(hidePicker:)];

ボタンをツールバーに追加し、ツールバーを次inputAccessoryViewのように設定しますUITextField:

    [self.datePickerToolbar setItems:@[doneBtn] animated:NO];
    self.closeDateTextField.inputAccessoryView = self.datePickerToolbar;
}

closeDateTextFieldキーボードをクリックすると、Doneツールバーにボタンが表示されますが、ボタンをクリックしても反応hidePicker:せず、呼び出されません。

- (void)hidePicker:(id)sender {
    [self.closeDateTextField resignFirstResponder];
}

私が間違っていることは何か分かりますか?

4

3 に答える 3