流程是这样的。
如果搜索框获得焦点。你直接点击取消按钮的话,会触发到searchBarCancelButtonClicked这个代理方法。
如果你输入东西,搜索之后,此时为了隐藏键盘,搜索框必须失去焦点,键盘才能收起。
[self.mySearchBar resignFirstResponder];
失去焦点之后,你再点击取消按钮,此时他就不执行searchBarCancelButtonClicked了。而是先获得焦点,然后你再点击,才执行到searchBarCancelButtonClicked。所以目前的问题就是点两次才能触发到searchBarCancelButtonClicked函数。
请问这个问题如何解决呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
UIView或者继承UIView的都有endediting方法,调用这个,不会失去焦点,但是会收回键盘
我也遇到同样的问题;参照下面http://blog.csdn.net/studying...