2016-03-14 59 views
0

我想實施一個動作,當用戶點擊屏幕上某處時,鍵盤應該消失。點擊手勢識別器不會着火

我有一個應用程序,看起來如下
enter image description here

當我在文本框,然後點擊出現的鍵盤,這是好的。
現在我想,當我點擊屏幕上的某個地方時,鍵盤應該消失。
我實現敲擊手勢識別與下列屬性值: enter image description here enter image description here

和抽頭手勢識別我與視圖控制器以下動作綁定

import UIKit 

class ViewController: UIViewController { 

    @IBOutlet weak var nameField: UITextField! 
    @IBOutlet weak var numberField: UITextField! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func textFieldDoneEdition(sender: UITextField) { 
     sender.resignFirstResponder() 
    } 

    @IBAction func onTapGestureRecognized(sender: AnyObject) { 

     nameField.resignFirstResponder() 
     numberField.resignFirstResponder() 
    } 

} 

敲擊手勢識別器被結合到功能。 enter image description here 當我在屏幕上的某處點擊時,它根本不起作用。鍵盤仍然在那裏。我究竟做錯了什麼?

+0

您是否將觸摸手勢識別器拖動到視圖上?並且是實際調用的函數? –

+0

我更新了我的帖子,請考慮最後一張照片。當我在屏幕上點擊某處時,我在功能中設置了斷點,它不會停止。 –

+0

首先,所有的斷點都不會被觸發,因爲它們不是主動的(爲了使它們處於活動狀態,它們需要是藍色的(而不是褪色的))。再次點擊它們以使它們變藍。 –

回答

0

您的觀點應該有關聯的手勢。

enter image description here

你的手勢應該有Sent actions

enter image description here

這應該是足夠的工作。

如果出於某種神祕的原因,這些都不起作用,您可以選擇關閉鍵盤。

func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent)