2009-07-25 66 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属性为表视图&使其数据源&委托你的视图控制器&你现在拥有的一切应该工作得很好。