簡體   English   中英

UITextField inputView-未觸發IBAction

[英]UITextField inputView - IBActions not fired

我想用自定義鍵盤替換UITextField的默認鍵盤。 因此,我創建了帶有xib文件的UIViewController的新子類(另一種方法是分別創建兩個文件和設置文件的所有者也不起作用)。

然后,我向KeyboardView添加了一個按鈕,並將其連接到IBAction 之后,將文本字段inputView設置為新視圖,如下所示:

override func viewDidLoad() {
    let keyboardVC = KeyboardViewController()
    textField.inputView = keyboardVC.view
    keyboardVC.view.autoresizingMask = .FlexibleHeight
    keyboardVC.delegate = textField
}

它可以正常工作,並且顯示自定義鍵盤,但是如果我觸摸該按鈕,則不會調用IBAction。 我的設置有什么問題? (我檢查了一些示例,它們都以相同的方式進行操作)。

更新:

現在,我刪除了ViewController並將其子類化為UIView。 現在這些動作正在起作用。 為什么它不能與ViewController一起使用?

由於沒有人持有UIViewControllerviewDidLoad()結束后沒有對它的引用,因此將其從內存中釋放。 當按下按鈕時,不應該響應該操作的視圖控制器不存在->您僅將視圖控制器的視圖作為textField.inputView持有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM