2014-07-11 46 views
0

好吧,所以我的問題聽起來很愚蠢,因爲坦率地說,它是。所以我正在使用的程序員決定在UIView中放置一個UITablViewController。問題在於,這是在整個應用程序中完成的,而且在實現過程中已經很遠了。我給UITableviewController放置了一個刷新控件,如下所示:UITableView定位在UIView裏面

[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)]; 

無碼尷尬的差距:

//////////////////

RefreshControl作品

/////////////////

但這裏的問題。這個邏輯使刷新控制隱藏在導航欄後面。我意識到使用UITableviewController自然修復了這個問題。但是,由於我們到目前爲止在這個應用程序中已經使用了UIViewcontroller,我認爲最好的舉措是堅持我們所得到的。那麼如何在沒有隱藏在導航欄後面的刷新控件的情況下適當地定位這個UITableView列表?希望我能清楚地向大家解釋我的問題。

+0

這個差距是44px高嗎?你使用'UINavigationController'嗎? – Oxcug

+0

不確定你的第一個問題。第二個問題是肯定的。 – user3817163

回答

1

聽起來就像你遇到了一個問題,我遇到了UIScrollView s。不幸的是,當一個UIScrollView被放置成最靠近NavigationBar時,這是一個錯誤。它將自動插入滾動視圖的高度UINavBar。所以我找到的唯一真正的解決方案是:

[myView setContentInset:UIEdgeInsetsMake(-self.navigationController.navigationBar.frame.size.height, 0, 0, 0)];