繁体   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