好吧,我的问题听起来很愚蠢,因为坦率地说,是。因此,与我一起工作的程序员决定将UITablViewController放在UIView内。问题在于,这是在整个应用程序中完成的,并且在实施过程中已经很遥远了。我将刷新控件放置到UITableviewController中,如下所示:
[self.categoryList addSubview:self.refreshControl];
所以这是我的问题开始出现的地方。如果没有下面的逻辑,则UITableView会移到下面(刷新控件是完美可见的)。但是,如果我不使用此代码,则会出现一个尴尬的空白:(但要强调的是,没有此逻辑,刷新控件是完全可见的。)
if([[UIDevice currentDevice].systemVersion floatValue]>=7.0)
[self.categoryList setFrame:CGRectMake(0, -18, 320, self.categoryList.frame.size.height+35)];
没有代码的尴尬缺口:
//////////////////
刷新控制工程
/////////////////
但这就是问题所在。此逻辑使刷新控件隐藏在导航栏的后面。我意识到使用UITableviewController自然可以解决此问题。但是,由于到目前为止我们在此应用程序中已经使用了UIViewcontroller,所以我认为最好的方法就是坚持我们所得到的东西。那么,如何在不将刷新控件隐藏在导航栏后面的情况下,适当地放置此UITableView列表呢?希望我为大家清楚地解释了我的问题。
最佳答案
听起来您遇到了UIScrollView
遇到的问题。不幸的是,放置UIScrollView
使其最接近NavigationBar
时,这是一个错误。它将自动按UINavBar
的高度插入滚动视图。因此,我发现的唯一真正的解决方案是:
[myView setContentInset:UIEdgeInsetsMake(-self.navigationController.navigationBar.frame.size.height, 0, 0, 0)];