首页 > 代码库 > iOS使用UIPageViewController结合多个UITableView后点击状态栏无法让UITableView置顶问题

iOS使用UIPageViewController结合多个UITableView后点击状态栏无法让UITableView置顶问题

页面结构:1个UIPageViewController含多个其他ViewController,每个ViewController中又包含了一个UITableView

问题:无法通过点击状态栏,让当前UITableView内容置顶

原因:UIPageViewController帮助我们管理了多个ViewController,本质上在UIPageViewController的view中包含多多个ViewController中的UITableView。由于每个UITableView的scrollsToTop默认值都是YES,这样系统就无法判断点击状态栏该让哪个置顶了。

解决方法:通过代码控制同时只能有一个UITableView的scrollsToTop值为YES

方法1、在UIPageViewController中控制,当前显示为哪个ViewController,就让这个ViewController中的UITableView的scrollsToTop值为YES,其他的为NO

方法2:在每个ViewController中控制,ViewWillAppear时让自己的UITableView的scrollsToTop为YES,WillWillDisappear时,让自己的UITableView的scrollsToTop属性为NO

iOS使用UIPageViewController结合多个UITableView后点击状态栏无法让UITableView置顶问题