Ios UIKeyboardDidShowNotification通知已发送两次

Ios UIKeyboardDidShowNotification通知已发送两次,ios,iphone,nsnotificationcenter,Ios,Iphone,Nsnotificationcenter,我的视图控制器正在订阅UIKeyboardDidShowNotification(在视图中显示),取消订阅将在视图中消失 我还设置: self.collectionView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; 当我开始拖动主收集视图时,它会使键盘消失 问题是UIKeyboardDidShowNotification传递了两次。一次当我聚焦文本字段时(如预期),一次当我开始拖动滚动视图时,键盘实际上消失了 这是

我的视图控制器正在订阅UIKeyboardDidShowNotification(在视图中显示),取消订阅将在视图中消失

我还设置:

self.collectionView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;
当我开始拖动主收集视图时,它会使键盘消失

问题是UIKeyboardDidShowNotification传递了两次。一次当我聚焦文本字段时(如预期),一次当我开始拖动滚动视图时,键盘实际上消失了


这是一个bug还是一个特性,还是我做错了什么?在没有额外虚假事件的情况下,我可以选择什么样的方式收听实际的键盘显示/隐藏?

UIKeyboardDidShowNotification在这里有什么用途?我的意思是,如果您想在键盘出现或消失时执行任何操作,那么我认为textfield委托方法也适用于您。@TechNet Weblineindia我需要它来激活附件中的UITextField,类似于messages应用程序。我有一个假的UITextField,它实际上触发了最初的一个,在显示键盘后,附件中的文本字段成为第一个响应者。Ok。根据您的要求,我不确定这是否适用于您,但可能您也可以尝试添加键盘隐藏通知。因此,当UIKeyboardDidShowNotification将调用时,请取消订阅。并在键盘隐藏通知调用时再次订阅它。如果出现断点视图,它是否多次命中?
self.collectionView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;