2010-10-18 85 views
4

「DONE」鍵盤按鍵我有問題,可能是相同的這樣guyiphone模擬器和的UITextField

當點擊文本框,輸入數據後,「完成」按鈕不起作用?它是iPhone模擬器的問題?請告訴我如何使用界面生成器「完成」按鈕的工作

解決方案:

谷歌搜索50分鐘後,我終於明白了我的問題。而現在用簡單的英語進行愚蠢的人跟我一樣:

我使用myAppDelegate文件現在是例如..所以這應該給你一個想法做什麼:

#import <UIKit/UIKit.h> 

@class imgurViewController; 

@interface imgurAppDelegate : NSObject { 
    UIWindow *window; 
    imgurViewController *viewController; 

//login window 
UIButton *loginButton; 
UITextField *loginField; 
UITextField *passwordField; 

} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet imgurViewController *viewController; 

//login window 
@property (nonatomic, retain) IBOutlet UIButton *loginButton; 
@property (nonatomic, retain) IBOutlet UITextField *loginField; 
@property (nonatomic, retain) IBOutlet UITextField *passwordField; 

- (IBAction)doLoginButton; 


@end 

的地方給你的myAppDelegate .M

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

使textFieldShouldReturn工作,你需要右鍵點擊您的IB文本字段,然後在「奧特萊斯」拖「代理」到控制器,你放置在textFieldShouldReturn方法!在這種情況下,將'委託'拖到myAppDelegate圖標上。

回答

4

使用適當的委託方法。具體而言,實施方法UITextFieldDelegate

- (BOOL)textFieldShouldReturn:(UITextField *)textField 

另外,不要忘記要連接的控制器作爲代表。以編程方式或通過在Interface Builder中連接它。

+0

你能更具體嗎?將UITextField拖放到IB中的任何視圖中,並啓動應用程序,done按鈕必須隱藏鍵盤。 loginField已經被拖動到appDelegate並且loginField.text已經工作了。 – holms 2010-10-18 17:44:16

+1

是的,我知道,但是完成按鈕在默認情況下不會隱藏鍵盤。你必須實現這個方法: - (BOOL)textFieldShouldReturn:(UITextField *)textField 否則什麼都不會發生。查看文檔以獲取詳細信息。 – tadejsv 2010-10-18 17:57:30

+0

終於有人告訴我用簡單的英語怎麼了謝謝男人,我會嘗試=) – holms 2010-10-19 00:37:32