我有一个带有容器视图的UIViewController.此容器视图包含UITableViewController.

UIViewController嵌入在UINavigationController中.

自己导航控制器.导航栏.半透明=否;

容器视图在其顶部添加了一些空间,就好像它有自己的导航栏一样.每当我将"半透明"设置为"是"时,视图都会正确显示所有内容.只有当我将"半透明"设置为"否"时,才会在包含的视图上发生这种情况.

这里有我遗漏的东西吗?

我try 在包含的视图中将半透明设置为YES,并将其设置为隐藏,但没有任何效果.

我认为设置半透明性只会影响半透明性,而不会影响视图的位置.

当半透明=是

+---------------------------------+
|                                 |
|     UINavigationBar             |
|                                 |
+---------------------------------+
|                                 |
|                                 |
|                                 |
|                                 |
|                                 |
|    UITableViewController        |
|    in a Contained View          |
|                                 |
|                                 |
|                                 |
|                                 |
|                                 |
|                                 |
+---------------------------------+

当半透明=否

+---------------------------------+
|                                 |
|     UINavigationBar             |
|                                 |
+---------------------------------+
|                                 |
|blank space created on top of view
|                                 |
+---------------------------------+
|                                 |
|                                 |
|                                 |
|                                 |
|                                 |
|                                 |
|     UITableViewController       |
|     in a Contained View         |
|                                 |
+---------------------------------+

另外,我的观点比这更复杂,我很简单.

推荐答案

这里缺少的是一个半透明的导航栏位于viewcontroller视图的顶部,而非半透明的导航栏向下推视图控制器的视图(有效地调整其大小).

所以这里发生的事情是,有了一个半透明的导航栏,空白实际上隐藏在导航栏下面,而当导航栏不是半透明的时候,它会被"按下".

有很多方法可以做到这一点,这主要取决于你是否使用自动布局.

Objective-c相关问答推荐

Objective C 中的 RSA 实现

跨平台 iPhone/Android 代码共享

如何测试 NSCFBolean 值?

Objective-C 静态、外部、公共变量

在 Objective-C 中实现纯虚方法

在 Interface Builder 中设计 UITableView 的section header

使用 [NSBundle mainBundle] pathForResource: ofType:inDirectory: 访问文件

如何使用 Cocoa 创建临时文件?

在Objective C中迭代枚举?

来自 NSString 的 NSJSONSerialization

didReceiveRemoteNotification:当应用程序处于后台并且未连接到Xcode时未调用fetchCompletionHandler

try 标记应用程序图标但未获得用户标记应用程序的权限:iOS 8 Xcode 6

判断一个 NSDate 是否大于另一个

在 Objective C 中使用 extern

Objective C 中的调用方法或发送消息

Objective-C 中的同步和异步调用与多线程有什么区别?

UIImage上的圆角

iPhone SDK:如何在视图中播放视频?而不是全屏

iOS:开源 VoIP/SIP Objective-C 代码

将 Xcode 组创建为文件系统文件夹的工作流程