当 UITextField 在 modalView 中有第一响应者时,UINavigationController 堆栈错误
我在 UIViewController 中有一个 UITextField ,它被推送到 UINavigationController 堆栈上。 UINavigationController 作为 modalViewController 呈现。
如果点击后退按钮时文本字段具有第一响应者状态(即键盘已打开),则视图会像应有的那样弹出,但会导致堆栈中的每个其他视图控制器出现导航栏错误:导航上的“后退”按钮导航栏的文本颜色错误且没有背景图像,标题消失,点击其他自定义导航栏按钮没有效果。
我尝试在 viewWillDisappear: 和 viewDidDisappear: 中放弃文本字段的第一响应者状态。
I have a UITextField inside a UIViewController which is pushed onto a UINavigationController stack. The UINavigationController is presented as a modalViewController.
If the text field has firstresponder status (i.e. keyboard is up) when the back button is tapped, the view pops like it should, but it causes nav bar errors for every other view controller in the stack: The "Back" buttons on the nav bar have the wrong text color and no backing image, the titles disappear, and tapping other custom nav bar buttons has no effect.
I've tried resigning the text field's firstresponder status in viewWillDisappear: and viewDidDisappear:.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请尝试以下操作
在 viewController 中,而不是将 modalViewController '推' 到 NavigationController 上,只需调用
then 当您想要摆脱它时(例如在视图左上角的按钮中),请在 MyModalViewController 中执行一个名为例如的操作
Try the following instead
In the viewController instead of 'pushing' the modalViewController onto the NavigationController just call
Then when you want to get rid of it (e.g. in a button in the top left of the view ) have an action in MyModalViewController that is called e.g.