[iOS] 第九課 更進一步的使用者界面3

新增方法:

@interface ViewController : UIViewController {
    UITextField *name;
    UITextField *password;
}
@property (nonatomic, retain) IBOutlet UITextField *name;
@property (nonatomic, retain) IBOutlet UITextField *password;

-
(IBAction)goAwayKeyboard:(id)sender;
-(IBAction)tapBackground:(id)sender;

@end


藍色字為新增的方法。

然後在.m檔裡面新增這兩個方法。

-(IBAction)goAwayKeyboard:(id)sender{
    [sender resignFirstResponder];
}
-(IBAction)tapBackground:(id)sender{
    [name resignFirstResponder];
    [password resignFirstResponder];
}


resignFirstResponder是說,你所引起的第一個responder,你要把他去掉(resign),因為你第一個呼叫的動作是鍵盤,所以這會把鍵盤給退回。

右鍵點選user name那個text field,選擇Did End On Exist拖拉到user name的text field上,然後選goAwayKeyboard方法。

注意你無法將動作貼到背景上,那只是普通的背景。此時點選View controller,然後找到右邊上方視窗有一個Custom Class項目,下面有一個Class輸入欄,預設應該是UIView,這表示這只是一個普通的View,我們把它改成UIControl。

然後在View Controller的下拉項目Control上按右鍵,選擇Touch Down拖曳到背景上,選擇tapBackground:方法。

現在,點擊text field就會出現鍵盤,但是你按Done時,鍵盤就會退下去了!而且當你點背景時,鍵盤也會退下去!

留言