iOS10 系统下,使用UISearchCtroller+UITableView搜索遇到一个很诡异的坑,先上gif看看一下
从gif中可以看到,每次触发搜索后,tableview整体向下偏移了。但是打印tableview的子视图却发现它们的frame并没有改变,tableview的frame也是正确的。
研究了半天,发现是我设置searchBar设置frame的时候出问题了。
我是把searchBar加在了一个headerView上了,而且searchBar的top 不为0,然后再把headerview设置成tableview的TableHeaderView,正是因为searchBar的top不为0导致了上面的问题。但是查看tableview和其子视图的frame又没问题,把searchBar的top改成0以后就没问题了。各位可以试试。这或许是UISearchController在iOS10系列的系统上的bug吧。
记录一下,供各位参考,如有大神有更好的解决办法,请留言。🙏