【发布时间】:2014-09-26 17:57:54
【问题描述】:
在 iOS8 中,我注意到视图控制器不再接收 UIKeyboardWillSHowNotification,而之前是在 iOS7 中。
这是场景:
1.) 视图控制器 A 正在显示一个键盘,并在不退出第一响应者的情况下推动视图控制器 B
2.) 视图控制器 B 有一个控件,该控件在其 viewDidLoad 调用期间成为第一响应者,同时它由 VCA 创建,然后被推送到导航控制器
3.) 如果 VC A 在按下 B 时没有显示键盘,则通知工作正常。但是,如果 A 在推 B 的时候还在编辑,那么 B 没有得到键盘就会显示通知。
如果没有键盘通知,VC B 不会调整大小/重新定位并且看起来不正确。
在找到解决方案之前,我正在使用的解决方法是在推送另一个可能正在编辑的视图控制器时从可能正在编辑的任何视图控制器执行以下操作:
即,在推送另一个视图控制器之前,请务必调用: [self.view endEditing:YES];
虽然它可以工作,但视图控制器 (B) 在显示之前可能被应用程序的状态“破坏”似乎并不好。
问题:我在这里做错了吗?
据我所知,三件事之一是可能的:
A.) 我应该收到通知,但我不是 b/c 我做错了什么
B.) 我应该收到通知,但我不是错误的 b/c
C.) 我不能依赖总是收到通知...但是如果在 VC B 中出现通知时我没有收到通知,我需要能够获得显示键盘的键盘尺寸,而无需依靠键盘通知信息。所有的苹果文档都说要使用通知(据我所知)....它指向选项 A.)或 B.)。
我可以在今晚晚些时候/明天早些时候创建和上传示例代码,以尝试隔离/供大家测试/重现以查看我在做什么。
【问题讨论】:
标签: notifications keyboard ios8