我正在尝试将UINavigationController
UIToolbar
添加到视图的顶部,(在导航控制器下。
我的观点是UITableViewController
...所以有这个要处理。目前,我只是将UIToolbar
放置在视图底部,我希望使用
[self.navigationController.toolbar setFrame:CGRectMake(0, 60, 320, 30)];
这会将工具栏放在我希望它出现的正确位置,但是它的位置存在问题,我会解释。
当您设置要显示的UINavigationController
工具栏时,它会将自身置于视图的底部并向上推UITableView,以便工具栏不会覆盖桌面视图。但是,当我更改工具栏的位置时,tableview仍然认为工具栏位于屏幕的底部,这意味着工具栏在屏幕底部不符合我想要的样式。
所以我的问题是如何让工具栏直接显示在导航控制器栏下方,并将桌面视图向下推,以适应工具栏的新位置。
我希望这一切都有道理,我想提供的任何帮助,而不是提前和下面是我正在使用的当前代码(所有这些都是基本的我仍然感到困惑的是,为了实现这一点,幕后工作是什么)
- (void) viewDidLoad
{
//..
[self.navigationController setToolbarHidden:NO animated:YES];
[self.navigationController.toolbar setFrame:CGRectMake(0, 60, 320, 30)];
self.navigationController.toolbar.tintColor = [UIColor lightGrayColor];
//..
}
这是工具栏正在对我的tableview进行的操作
答案 0 :(得分:4)
在UITableView上调用setFrame将其移动到位置。
float y = self.navigationController.toolbar.frame.origin.y + self.navigationController.toolbar.frame.size.height;
[myTable setFrame:CGRectMake(0, y, self.view.frame.size.width, self.view.frame.size.height-y)];