ios - 你如何阻止 UIWindow 剪裁到旋转边界并显示 'black frame' ?

标签 ios objective-c ipad uiwindow rootview

我正在 iPad 上创建一个 iOS 应用程序,我的 UIWindow 和它的 rootViewController 对所有 4 个界面方向都有自动旋转。我在 rootViewController.view 中添加了一个带有 AVPlayer 的 View 。在该 View 中播放的视频是 1280x1280(ipad 的屏幕对角线长度)。我想要的是,当用户旋转 ipad 时,视频居中且足够大,以便当动画旋转到不同的界面方向时,视频仍会填充角落,而不是显示黑框。这可以正常工作,但我发现 UIWindow 有效地剪辑到它的边界并且在它自动旋转时仍然显示“黑色边框”。看到的黑色边框实际上是 UIWindow“背后”的黑色。我试过设置 uiWindow.clipsToBounds = NO & 这没有任何改变。

我知道问题出在 UIWindow 上,因为如果我将 UIWindow 的框架大小更改为 1280x1280 并为其着色,则不再显示任何黑色边框。但是,在该大小下,UIWindow 的 rootView 会自动设置为 0,0,768,1024,无法更改,因此我无法将此 View 置于超大 UIWindow 的中心。

我该如何解决这个问题?

最佳答案

在 iOS 10 中,设置 window.clipsToBounds = YES 可防止黑框显示在较低窗口的顶部。

关于ios - 你如何阻止 UIWindow 剪裁到旋转边界并显示 'black frame' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18701915/

相关文章:

IOS 7 获取错误的状态栏高度

ios - 迁移到 Swift 4 时,我需要将 3.0 更新到 3.2 吗?

ios - 子类化自定义 UIViewController(使用 xib)以添加其他行为

objective-c - 类实例方法?对象方法?

ios - 通过代码 Objective-c 隐藏按钮时出错

ios - 无法找到或获取请求证书的上下文

ios - 带有自定义 UITableViewCell 的 UISearchDisplayController 在第二次搜索时丢失 UITableViewCell 连接

iphone - iPad内置词典

objective-c - 在 iPad 上以编程方式添加 subview ,硬编码

objective-c - UIPopover 中的空 TableView