2

我有一个非常简单的设置:AUINavigationControllersetToolbarHidden NO. 所以自定义视图的容器在拥有的东西里面UINavigationController应该是导航栏底部到工具栏顶部的距离。 预期距离

但是,我得到的是(您可能可以通过查看半透明工具栏从屏幕截图中收集)从导航栏底部到屏幕底部的距离。

我已经在我的 中设置了autoresizingMaskto ,但它从来没有得到考虑工具栏高度的“正确”答案。我可以计算工具栏高度并将其从视图高度中减去,从而重置自定义视图的高度,但是当设备旋转时,真正的问题再次出现。这似乎是一种自动调整大小的问题,我很困惑为什么不考虑工具栏。UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidthviewDidAppear

任何提示如何调整自定义视图的大小,考虑工具栏占用的空间?

几点注意事项:

  1. 我正在以编程方式创建所有这些,而不是使用 IB

  2. 我已经在 Symbiote 中检查过它,它非常可靠(至少对我而言),它验证了我可以通过NSLog输出看到和测量的内容

我看到应用程序一直在这样做,所以我觉得我一定错过了一些东西。

代码:

// Code translated from RubyMotion

view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.tableView = [[UITableView alloc] initWithFrame:view.bounds style:UITableViewStylePlain];
self.tableView.accessibilityLabel = @"events table";
self.tableView.backgroundColor = [UIColor whiteColor];
[self.tableView setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];

self.tableView.dataSource = self;
self.tableView.delegate = self;
self.tableView.tableHeaderView = searchBar; // assume I created a searchbar

[self.view addSubview:self.tableView];

提前致谢。

4

1 回答 1

0

当您使工具栏半透明时,内容视图会自动调整大小以占用一直到栏底部的空间,这与您希望通过它看到某些东西的事实相对应。当您使工具栏不透明时,内容视图将调整大小以适合绘图中箭头指示的空间。

所以在你的某个地方viewDidLoad,你可以设置:

self.navigationController.toolbar.translucent = NO;

虽然真的,这应该是默认值,所以你必须将它设置到YES某个地方,如果不在这个视图控制器中,那么也许在父级中?

于 2013-08-31T03:40:39.800 回答