2010-11-17 116 views
0

我有這樣一個問題:我在UITableViewCell中有一個UITextField。當我點擊那個文本字段 - >出現鍵盤,但是當我按時輸入按鈕鍵盤不會消失。我需要爲我的文本字段和鍵盤這樣的行爲:UITextField鍵盤問題

  1. 當我按下回車Esc鍵 - 鍵盤必須消失。

回答

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

如果文本框是UITextField,用於定義UITableViewCell

有在真實的設備沒有這樣的關鍵反正
+0

它不工作(莫比東西更 – yozhik 2010-11-17 11:54:14

+0

@yozhik,你有沒有委託設爲您的文本字段?檢查,如果該方法實際上被稱爲 – Vladimir 2010-11-17 13:18:28

+0

等一秒鐘,我會寫什麼是錯的 – yozhik 2010-11-17 13:28:05

1

執行textFieldShouldReturn:方法在textField的委託中,並調用[textField resignFirstResponder]那裏 - 當按下回車鍵時將隱藏鍵盤。

我不知道是否會爲「Esc」鍵以及工作,但因此它不能是一個問題

2

試試這個


[txtField setReturnKeyType:UIReturnKeyDone]; 

txtField.enablesReturnKeyAutomatically=YES;
0
@interface Untitled2ViewController : UIViewController <UITextFieldDelegate> 
{ 
    IBOutlet UITextField *text; 
} 

@property (nonatomic, retain) IBOutlet UITextField *text; 
@end 

// M檔

#import "Untitled2ViewController.h" 

@implementation Untitled2ViewController 
@synthesize text; 

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

在我設置的xib文件中:返回鍵:完成,自動啓用返回鍵。我也試過沒有它,但仍然沒有反應。鍵盤不隱藏。

+0

你應該編輯你的問題,並在那裏放置細節 - 答案不是一個正確的地方,它太容易錯過你的文章。你設置你的c ontroller成爲文本的委託(在IB或代碼中)並且textFieldShouldReturn被調用(在那裏放置斷點或日誌消息來檢查...)? – Vladimir 2010-11-17 14:22:38

1

這可能是一箇舊帖子,但我發現它尋找答案,所以有可能別人可能不會因爲發帖而射我。

只想添加 不要忘記將給出UITextField

0

寫在IB代理連接這個代碼來創建UITextLabel

UITextField *username = [[UITextField alloc]initWithFrame:CGRectMake(10.0f, 10.0f, 110.0f, 30.0f)] 
    [username setReturnKeyType:UIReturnKeyNext]; 
    [username setDelegate:self]; 
    [self.view addSubview:username]; 

現在辭職編寫代碼。

-(void)resignKeyboard 
{ 
    if([username isEditing]) 
    { 
     [username resignFirstResponder]; 
    } 
} 

我希望它適合你。

0

試試這個

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

或者這是在任何地方查看

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    [self.view endEditing:YES]; 
}