簡體   English   中英

使用UIToolbar / UITextField放棄第一響應者問題

[英]Resign first responder issues with UIToolbar/UITextField

好的-我正在實現一個UIToolbar ,該UIToolbar包含一個到文本字段的UIKeyboardTypeDecimalPad上的“完成”按鈕。

問題是,不會調用將在文本字段上使響應者辭職的方法。 我已經放入NSLogs來查看正在調用的內容和未調用的內容,並且調用了設置(即UIToolbar初始化,按鈕添加,將工具欄添加到文本字段等),但是從未調用過該方法。當按下“完成”按鈕時。 實際上,該按鈕甚至看起來都不是“可點擊的”。

- (void) viewDidLoad
{
   UIToolbar *toolbar = [[UIToolbar alloc] init];
   UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(donePicker:)];
   UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
   [toolbar setItems:@[doneButton, spaceItem]];
   self.textField.inputAccessoryView = toolbar;
}

-(void)donePicker:(id)sender
{
   [self.textField resignFirstResponder];
}

我試圖同時使用[self.textField resignFirstResponder][self.view endEditing:YES] ,在這里都沒有結果。 大家有什么想法嗎?

在這里,您只需要做的是:

[yourtextfield setReturnKeyType:UIReturnKeyDone];
yourtextfield.delegate = self;

現在,此方法將完成您的工作:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

請享用 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM