gpt4 book ai didi

objective-c - UITextView:我必须总是 resignFirstResponder 吗?

转载 作者:行者123 更新时间:2023-12-01 18:32:54 30 4
gpt4 key购买 nike

我必须总是为 UITextView 辞职吗? ?或者,当它的 View Controller 消失时,这会自动发生吗?

我问是因为我遇到了类似于 iPhone Objective-C: Keyboard won't hide with resignFirstResponder, sometimes 的问题,即使导航 Controller 推送和弹出其他 View Controller ,键盘也会保持不变。键盘可以工作,当我完成时,它会使 UITextView 失去焦点(即光标消失),但键盘保持不动。

我从来不知道为什么会这样,但也许是因为没有做 resignFirstResponder在推送另一个 View Controller 之前,但我认为它是可选的?

最佳答案

总而言之, UITextView 有一个对 View Controller 的引用(作为它的委托(delegate)),但不保留它。当您转到下一个屏幕时, Controller 被释放,然后 UITextView(可能已被其他东西保留)尝试回调释放的 Controller 并崩溃。当您调用 resignFirstResponder ,你颠倒了发生这种情况的顺序,因此没有崩溃。

绕过这个添加一个textView.delegate = nil调用 View Controller 的 dealloc方法 - 显然是在你释放 TextView 之前放置的。

关于objective-c - UITextView:我必须总是 resignFirstResponder 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6399432/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com