2009-07-25 64 views
0

我有一個UITableViewController,我想爲它添加一個導航欄。所以在導航欄(工作正常)之後,原始tableView的一部分被導航欄覆蓋。如何重新定位UITableView?

我試圖使用這個重新定位表視圖:

self.tableView.frame = CGRectMake(0,44 + 20/*導航欄的高度+一些餘量* /,320,416);

但是表格不會定位。

+0

什麼是你的'UINavigationBar`的超級視圖?它是你的表格視圖,你的`UIWindow`還是別的東西? – 2012-01-21 06:23:35

回答

1

self.tableView.frame不爲我工作,要麼,它拋出一個錯誤,但

  1. IB
  2. 設置tableView我創建的h文件呼叫者IBOUTLET UITableView *myTabli;
  3. 連接FileOwnertableView > myTabli in IB
  4. 比我可以撥打myTabli.frame = CGRectframe(x,y,width,height);在m-File

適合我。

0

你可以設置導航欄作爲這樣的表視圖的標題視圖(假設你有一個屬性的導航欄叫navBar):

self.tableView.tableHeaderView = self.navBar; 

我猜測這是不是你雖然需要(因爲當您向下滾動表格時導航欄會滾動)。

相反,你可以改變把導航欄&表視圖上的視圖(佈局,但是你想)普通視圖控制器&。你可以添加你自己的tableView屬性爲表視圖&使其數據源&委託你的視圖控制器&你現在擁有的一切應該工作得很好。