为什么不要在viewDidLoad方法中设置开始监听键盘通知

Posted 大熊猫侯佩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么不要在viewDidLoad方法中设置开始监听键盘通知相关的知识,希望对你有一定的参考价值。

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)


一个普遍的错误是,程序猿(媛)试图在view controller的view不在屏幕上时监听键盘通知.

他们开始在viewDidLoad方法中开始监听通知,并且在dealloc方法中移除监听通知.

这是一种大有问题的行为,因为当你的视图不在屏幕上显示,而键盘开始显示在其他视图上的时候,你绝不应该在你的视图控制器中调整任何键盘组件的显示!

牢记这一点:键盘通知就像任何其他通知一样,被广播到所有监听者,比如你的App的上下文中.所以你需要特别小心,你不能够在你的视图不在屏幕的时候对键盘通知做出响应!

以上是关于为什么不要在viewDidLoad方法中设置开始监听键盘通知的主要内容,如果未能解决你的问题,请参考以下文章

在 init 中设置的属性在 viewDidLoad 之后是 nil 吗?

在 Xcode 4.3 中设置属性值不固定/viewDidLoad 被多次调用

在标签栏控制器中设置视图控制器

在 iOS 7 上,在 viewDidLoad 中设置图层变换会破坏自动布局

如何在 iOS 中设置最后一个轮播项目的偏移量?

为啥在 ViewDidLoad 中没有设置 GLKView 的 DrawableWidth?