我有一个非常简单的设置:A UINavigationController
与 setToolbarHidden NO
.因此,UINavigationController
拥有的东西内的自定义 View 的容器应该是导航栏底部到工具栏顶部的距离。
但是,我得到的是(您可能可以通过查看半透明工具栏从屏幕截图中收集)从导航栏底部到屏幕底部的距离。
我设置了autoresizingMask
至UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
在我的viewDidAppear
,但它永远不会得到考虑工具栏高度的“正确”答案。我可以计算工具栏高度并将其从 View 高度中减去,从而重置自定义 View 的高度,但是当设备旋转时,真正的问题再次出现。这似乎是一种自动调整大小的问题,我很困惑为什么不考虑工具栏。
任何提示如何调整自定义 View 的大小,考虑工具栏占用的空间?
几点注意事项:
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];
提前致谢。
最佳答案
当您使工具栏半透明时,内容 View 会自动调整大小以占用一直到栏底部的空间,这与您希望通过它看到某些东西的事实相对应。当您使工具栏不透明时,内容 View 将调整大小以适合绘图中箭头指示的空间。
所以在你的viewDidLoad
的某个地方,您可以设置:
self.navigationController.toolbar.translucent = NO;
虽然真的,这应该是默认值,所以你必须将它设置为
YES
某处,如果不在此 View Controller 中,那么可能在父级中?
关于显示工具栏时UINavigationController内部的iOS自定义 View 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757416/