2012-05-24 69 views
0

什麼會導致導航控制器中的表的第一行被定位,因此它的一部分位於導航控制器下?UITableView第一行被切斷

我似乎無法讓它顯示整行從上到下;它可能看起來很小,但顯然不正確,我覺得它沒有吸引力。

TableViewController添加到在碼完全導航控制器:

 SettingsRootController*settings=[[SettingsRootController alloc] initWithStyle:UITableViewStylePlain]; 
    self.settingsView=[[[UINavigationController alloc] initWithRootViewController:settings]autorelease]; 
    [settings release]; 

SettingsRootController是的UITableViewController的子類。

What would cause the first row of a table in a nav controller to be positioned so part of it is under the nav controller?

+0

我們需要知道(或看到)你是如何創建tableview的,否則我們只能猜測。 XIB?碼? – sosborn

+0

我更新了我的問題,謝謝 – johnbakers

+0

這發生在我身上不少次。請明確檢查設置視圖框架大小(或)設置設置'框架'。 – Legolas

回答

1

,似乎工作是手動換檔導航控制器內的表視圖下降的唯一,但只能在iPhone上使用,而不能在iPad上使用,因爲iPad上沒有對齊問題,在iPad上移動10個像素會產生差距。這顯然是某種導航控制器的錯誤,因爲在其他線程中還有其他奇怪的問題。

CGPoint tableorigin=CGPointMake(0,ISIPAD?0:10); 
1

它似乎是一個常見的問題編程添加UINavigationController - 見Adding a UINavigationController as a subview of UIView

基本上,你應該做的是設置的UINavigationControllerframe財產之前,你作爲一個子視圖將其添加到任何地方。在接受的答案對上述問題的還有一個建議改變UINavigationController的幀:由10個像素

nav.view.frame = CGRectMake(nav.view.frame.origin.x, nav.view.frame.origin.y - 20, 
         nav.view.frame.size.width, nav.view.frame.size.height); 
+0

謝謝,我要試一試。 – johnbakers

+0

hm,這裏描述的問題與我的有點不同。導航控制器顯示在適合我的地方;這是表格視圖沒有正確對齊導航欄的底部 – johnbakers

+0

這很奇怪,我遇到了導航欄覆蓋第一個表格單元格的一部分問題,並且提出的修補程序適用於我。但是,覆蓋的區域更像是半個單元格(〜20像素),不像您的(〜10像素)。 – Neo