这个问题 困扰了 我好几个小时,以前 写demo 的时候使用的 是全局 变量,没问题,今天由于使用了局部变量造成,点击uisearchBar之后无法向上弹起的效果,经研究是这里面除了一点小问题:
解决办法就是讲UISearchDisplayController写成全局变量.
_displayController = [[UISearchDisplayController alloc]initWithSearchBar:searchBar contentsController:self];
我们在使用searchBar时一般使用的都是局部变量,但使用UISearchDisplayController一定要使用全局变量,否则就会失去我们想要达到的效果,还有就是,使用UISearchDisplayController时,注册表的重用标识符,一般不能使用register的方法了,因为当你点击searchBar时会有另外一个表的显示,所以还是在表的协议方法里面定义重用标识符比较好,即:
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
如果实在想用register,也可以,需要写两个注册事件,在cellForRow里面也需要写两个cell的重用.