我有一个UITableViewController
,其中一些行包含文本字段,其他行显示模态视图。我在UIKeyboardWillShowNotification
注册了UIKeyboardWillHideNotification
和viewWillAppear
,并在viewWillDisappear
注销。
接下来我这样做:
- 单击文本字段。我得到UIKeyboardWillShowNotification
,调整表格大小以便键盘放置。
- 选择一个显示模态视图控制器的行,我收到UIKeyboardWillHideNotification
,并调用viewWillDisappear
。
- 关闭模态视图控制器后,调用viewWillAppear
,我得到UIKeyboardWillShowNotification
。但没有显示键盘。所以我的表格已调整大小,但没有键盘出现。
这是SDK中的错误吗?或者这是常见的行为,我错过了什么?
答案 0 :(得分:0)
你的逻辑接缝对我来说是正确的。但我想知道每次UIKeyboardWillHideNotification
注册viewWillAppear
时可能出现的问题。尝试仅在viewDidLoad
中注册一次,然后在dealloc
中取消订阅。我想也许当您在解除模态视图后再次注册时,通知中心会向您发送旧通知。如果您注册一次通知,则不会获得更多通知。