修复由iOS 7中的UIRefreshControl引起的UITableViewController偏移

qix*_*qix 10 uitableview uinavigationcontroller uirefreshcontrol ios7

我在我的uitableviewcontroller中设置了一个UIRefreshControl,但导航栏和uitableview顶部之间存在很大差距.使用"调整滚动视图插入"不起作用,因为控制器将在启动时覆盖导航栏.我可以禁用'顶部栏',但滚动时我想要这种能力.在调试器中调试时,我注意到tableView.contentInset在不同时间偏移了82个点,这与人们谈论有关新ios7 bar行为的因果20/64 pt偏差不同.这里发生了什么?

qix*_*qix 24

找到一个解决方案,同时更多地探索; 希望能节省几个小时!

我需要在之后实例化我的UIRefreshControl viewDidLoad:,或者attributedTitle至少在此之前避免设置它的代码(例如,如果我在IB中启用了表的刷新).在viewDidLoad中设置字符串:弄乱了控件+ tableview的iOS布局,但是在viewWillAppear:设置几何体之后或之后都可以.我认为82分是UIRefreshControl的高度.在IB中设置刷新标题也可以避免这个问题,除了我在代码中这样做,因为我不想在我的每个表中始终在IB中启用刷新.

  • 在viewWillAppear中没有为我工作,但它在viewDidAppear中工作 (4认同)