将工具栏添加到导航控制器

时间:2010-12-17 03:33:38

标签: objective-c cocoa-touch uitableview ios

Sup fellas,所以我有一个带有表格视图的导航控制器,我试图添加一个工具栏,但是,我实现它的方式导致表格中的最后一行隐藏在工具栏后面。我将尝试通过图片说明:

表视图在没有工具栏的情况下滚动到底部:

alt text

使用工具栏将表格视图滚动到底部(注意工具栏后面隐藏的最后一个“供应商”行):

alt text

我正在关注this指南,这就是我最终为实施而做的事情:

alt text

正如您所看到的,我有一个“视图”而不是“窗口”可供使用。这是我显示工具栏的代码:

- (void)viewDidLoad {
    [super viewDidLoad];
 [self.view addSubview:self.navigationController.view];
 [self.view addSubview:toolbar];
 [self.navigationController.view setFrame:self.view.frame];
}

在我看来,我需要调整导航控制器框架的框架以补偿底部的工具栏。这是我被困的地方。我该怎么做呢?任何帮助赞赏!

2 个答案:

答案 0 :(得分:4)

我之前遇到过类似的问题。

您需要将UINavigationController视图的高度调整为44像素更少

这应该这样做:

- (void)viewDidLoad {
   [super viewDidLoad];
   [self.view addSubview:self.navigationController.view];
   [self.navigationController.view setFrame:CGRectMake(self.view.frame.x, self.view.frame.y, self.view.frame.width, self.view.frame.height - 44.0f)];
   [self.view addSubview:toolbar];
}

答案 1 :(得分:4)

如果将工具栏添加到导航控制器,它将自动调整大小。只需在IB中选中此框。

Check "Shows Toolbar" box in IB