我有一個UIViewController
,並在其上創建了一個小的UIView
(子視圖)。當我點擊一個按鈕時,這個視圖懸停在屏幕的中心。問題是我得到UITextField
在額外的UIView
,我似乎無法得到返回鍵工作。子視圖上的UITextField返回鍵
雖然我將我的IBAction
設置爲文本字段的「編輯結束」事件,但當單擊返回鍵時,IBAction
未運行。
我在做什麼錯?
我有一個UIViewController
,並在其上創建了一個小的UIView
(子視圖)。當我點擊一個按鈕時,這個視圖懸停在屏幕的中心。問題是我得到UITextField
在額外的UIView
,我似乎無法得到返回鍵工作。子視圖上的UITextField返回鍵
雖然我將我的IBAction
設置爲文本字段的「編輯結束」事件,但當單擊返回鍵時,IBAction
未運行。
我在做什麼錯?
您只需設置您的代理,例如: - yourtextfile.delegate=self;
,也不要忘了在添加委託方法.h文件中
@interface contacts_detailView : UIViewController<UITextFieldDelegate>
,然後委派textFieldDidEndEditing
- (void)textFieldDidEndEditing:(UITextField *)textField
{
//your new view apear code here
[textField resignFirstResponder];
}
確保UITextFieldDelegate在接口
我已在接口上有
添加代表到您的文本域 textfiled.delegate = self –
點擊「Return」不會觸發「Editing did end」事件。只有當您在UITextField上調用resignFirstResponder時,纔會看到事件觸發。
你應該做的是設置你的UIViewController爲的UITextField的代表和實現方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
最後!非常感謝!我不知道爲什麼其他人不工作,但這一個確實如此。我很肯定我曾經看到一次,將「IBAction」附加到「End Editing」事件中,但我會檢查那一個。再次感謝。 –
如果我的回答對您有幫助,請考慮將其標記爲正確答案。 –
首先,委託這樣的TextField對文件的所有者:
yourtextField.delegate = self
在viewDidLoad中。
,然後添加到這個視圖控制器
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
它應該工作。
沒有必要爲關鍵板返回編寫更多代碼。請將它寫入您的.m文件中,它可以用於任意數量的文本字段,不需要再次爲不同的文本字段再次寫入。
在你的.h文件中使用<UItextfieldDelegate>
。然後在nib文件中與fileowner進行連線。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[self.view endEditing:YES];
return YES;
}
你能顯示一些代碼嗎?您是否已**將文本字段委派給文件所有者? – esh