我有一个带容器视图的UIViewController.此Container视图包含UITableViewController.
UIViewController嵌入在UINavigationController中.我通过改变色调颜色,条纹色调和标题文本属性来配置NavigationBar,但是当我尝试更改半透明时,我遇到了问题.我通过删除所有其他自定义代码来挑出问题.每当我在UIViewController中执行此操作时-viewDidLoad:
self.navigationController.navigationBar.translucent = NO;
容器视图在其顶部添加了一些空间,就好像它有自己的导航栏一样.每当我将半透明设置为YES时,视图都会正确显示所有内容.只有在我将半透明设置为NO时才会在包含的视图中发生这种情况.
这里有什么我想念的吗?
我尝试将半透明度设置为YES包含的视图,并将其设置为隐藏,但没有任何效果.不知何故,包含的视图从父容器继承属性?每当我将半透明度设置为NO?时,如何避免在包含的视图上创建这个额外空间?
我希望设置半透明度只会影响半透明度,但不会影响视图的位置.
半透明= YES时
+---------------------------------+
| |
| UINavigationBar |
| |
+---------------------------------+
| |
| |
| |
| |
| |
| UITableViewController |
| in a Contained View |
| |
| |
| |
| |
| |
| |
+---------------------------------+
Run Code Online (Sandbox Code Playgroud)
当半透明=否
+---------------------------------+
| |
| UINavigationBar |
| |
+---------------------------------+
| |
|blank space created on top of view
| |
+---------------------------------+ …Run Code Online (Sandbox Code Playgroud)