我已经实现了滚动功能,其中文本字段不会从键盘隐藏。因此,我正在使用UIKeyboardDidShowNotification
和UIKeyboardWillHideNotification
进行滚动。对于滚动,我需要知道当前活动的文本字段。这是通过EditingDidBegin
和EditingDidEnd
完成的。
代码在C#中,但没有太大区别:
usernameText.EditingDidBegin += delegate {
activeTextField = usernameText;
};
usernameText.EditingDidEnd += delegate {
activeTextField = null;
};
我的应用程序流程如下所示:
UIKeyboardDidShowNotification
。UIKeyboardWillHideNotification
,并在EditingDidEnd
中清除我的有效文本字段。UIKeyboardDidShowNotification
时会再次调用UIKeyboardWillHideNotification
,尽管没有键盘处于活动状态。在UIKeyboardDidShowNotification
中,我需要当时为空的活动文本字段,并且我的应用程序崩溃了。现在我使用了空检查,以便应用程序不会崩溃。
但是,为什么在没有必要时再次发送两个通知?
答案 0 :(得分:1)
:"用户按下另一个按钮,另一个视图以模态显示。"在呈现viewController之前隐藏你的键盘