模仿高德地图搜索控件。
先上一下效果图吧:
项目里有需要用到这个功能,看起来很简单很清晰的功能,可是真正当自己写的时候,发现有很多需要注意的地方
需要注意的主要有两个地方:
一是手势与tableView的scroll滑动冲突的问题;
还有一个就是searchBar的键盘以及searchBar在Editing状态下的动画问题。
下面就主要说说这些问题
1. 手势与tableView的scroll滑动冲突
另外新建一个视图控制器来控制tableView的滑动,用轻扫手势UISwipeGestureRecognizer来控制这个滑动动作。通过swipe的方法可以判断手势是向上滑还是向下滑,然后再重新设置tableView的位置。想法是这样,然而当运行的时候发现做手势的时候只有table里面的scroll在滑动,swipe手势并没有响应。这就是我们要说的第一个问题:手势与tableView的scroll滑动冲突的问题。点进去看swipe的delegate,里面提供了好几种方法,其中这个方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
其中 Simultaneously ,查了一下翻译为“与... 同步地”,整句就是手势同步响应的意思,那就是你了。测试发现,当返回值为NO时 swipe不响应手势 table响应手势;返回值为