我正在我的uitableviewcontroller中设置UIRefreshControl,但是导航栏和uitableview之间有很大的空隙。调整“调整滚动视图插图”并不能帮助解决问题,因为控制器会在启动时覆盖导航栏。我可以禁用“在顶部下方的栏”,但我希望在滚动时保留该功能。当我在调试器中浏览时,我注意到tableView.contentInset在各个时间偏移了82个点,这与人们谈论的新的iOS7栏行为的通常20/64pt偏移量不同。这里发生了什么?
在进一步探索时,我找到了一个解决方案,希望它能为某些人节省几个小时!
我需要在viewDidLoad:
之后实例化我的UIRefreshControl,或者至少在那之前避免在代码中设置其attributedTitle
(例如,如果我在IB中启用了表格的刷新)。在viewDidLoad:中设置字符串会混乱iOS对控件和表格视图的布局,但是在viewWillAppear:
或以后可以,一旦几何形状被设置。而且我认为82点是UIRefreshControl的高度。在IB中设置刷新标题也可以避免这个问题,但我之所以在代码中这样做是因为我不想每次都在IB中为我的表格启用刷新。