2017-02-04 39 views
0

當我打開應用程序並單擊UITextField時,它在第一次點擊時立即被解散。它不會在第一次之後被點擊,而不會在視圖之外點擊。Swift:UITextField在第一次點擊時被立即解僱

我用這個回答:Close iOS Keyboard by touching anywhere using Swift爲代碼來關閉textField區域以外的區域時被點擊。代碼:

class SettingsViewController: UIViewController, UITextFieldDelegate { 

@IBOutlet weak var textField: UITextField! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    textField.delegate = self 
} 


override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    view.endEditing(true) 
} 


func textFieldShouldReturn(_ textField: UITextField) -> Bool { 

    textField.resignFirstResponder() 
    return false 
} 
+0

您的預期 –

+0

輸出我期望的文本框爲不自動當它解僱首先被挖掘。我希望textField在用戶點擊屏幕上的其他位置時被解散。 –

+0

您可以添加您的視圖控制器代碼 –

回答

0

想從你的問題,你想什麼時候有人視圖,而不是文本字段水龍頭關閉該鍵盤。您可以覆蓋觸摸開始您的視圖控制器爲此於:

import UIKit 

class ViewController: UIViewController { 

    // MARK: - Properties 
    @IBOutlet weak var textField: UITextField! 

    // MARK: - Actions 
    // will resign any first repsonder on this view contorller 
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
     view.endEditing(true) 
    } 

    // MARK: - Lifecycle 
    override func viewDidLoad() { 
     textField.delegate = self 
    } 

} 

extension ViewController: UITextFieldDelegate { 
    func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
     textField.resignFirstResponder() 
     return false 
    } 
} 

,而不必擔心水龍頭等

+0

對不起,如果它不清楚,我的問題是textField被第一次自動解散,它被輕敲和鍵盤打開。這個問題似乎沒有發生在第一次點擊之後。 –

+0

你能幫我解決'textField自動解僱' - 我推斷這意味着鍵盤隱藏? –

+0

正確,當點擊textField時,鍵盤會出現一瞬間,然後自動隱藏/取消解除。 –

相關問題