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

时间:2013-10-08 06:47:05

标签: uinavigationcontroller ios7 uitableview uirefreshcontrol

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

1 个答案:

答案 0 :(得分:24)

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

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