[英]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.