关于 UITextField 跟 键盘 的通知、代理调用顺序

关于 UITextField 和 键盘 的通知、代理调用顺序


从点击UITextField到键盘弹出完成,调用代理方法或发通知的顺序

textFieldShouldBeginEditing:                (调代理)
textFieldDidBeginEditing:                   (调代理)
UITextFieldTextDidBeginEditingNotification  (发通知)
UIKeyboardWillChangeFrameNotification       (发通知)
UIKeyboardWillShowNotification              (发通知)
UIKeyboardDidShowNotification               (发通知)


在UITextField中编辑(输入或者删除)文字时,调用代理方法或发通知的顺序

// 在此方法中取得的文本框文字是输入或删除之前的
textField:shouldChangeCharactersInRange:replacementString:  (调代理)

// 在此通知中取得的文本框文字是输入或删除之后的
UITextFieldTextDidChangeNotification                        (发通知)


在UITextField结束编辑时,调用代理方法或发通知的顺序

textFieldShouldEndEditing:              (调代理)
UIKeyboardWillChangeFrameNotification   (发通知)
UIKeyboardWillHideNotification          (发通知)
textFieldDidEndEditing:                 (调代理)
UITextFieldTextDidEndEditingNotification(发通知)
UIKeyboardDidHideNotification           (发通知)




版权声明:本文为博主原创文章,未经博主允许不得转载。