2014年8月6日 星期三

UITapGestureRecognizer programmatically using Swift and Object-C language

【說明】

此份筆記是在紀錄當使用者點擊UITextField後想要點擊View就可以將Keyboard移除的方法。


【專案開發步驟】

建立專案:

使用Single View Application模板建立一個名為tapGestureRecognizer的專案,使用iPhone裝置。

設計使用者介面:

將UITextField加入到Storyboard內,並建立IBOutlet,如下圖所示。

設計使用者介面
將Tap Gesture Recognizer加入至View內:

點選Storyboard內的View,並將Tap Gesture Recognizer拖曳到View裡面,如下圖所示。

拖曳Tap Gesture Recognizer
替Tap Gesture Recognizer建立IBAction,並與Storyboard連結:

建立IBAction,如下所示,傳進的會是UITapGestureRecognizer。

<Swift>
@IBAction func userTap (sender: UITapGestureRecognizer) {
        
}

<Object-C>
-(IBAction)userTap:(UITapGestureRecognizer*)sender {

}

與Storyboard做連結,如下圖所示。

IBAction與Storyboard做連結
撰寫resign keyboard的程式:

於userTap內撰寫以下程式。

<Swift>
@IBAction func userTap (sender: UITapGestureRecognizer) {
    theTextField.resignFirstResponder()
}

<Object-C>
- (IBAction)userTap:(UITapGestureRecognizer *)sender {
    [self.theTextField resignFirstResponder];
}
讓TextField變成不是第一回應使用者的元件,使用resignFirstResponder這個method。


【執行結果】

如同文章說明所言,使用者按到UITextField時再按到View會消除keyboard。

沒有留言:

張貼留言