【问题标题】:How do you stop the UIWindow from clipping to bounds on rotation and showing the 'black frame'?如何阻止 UIWindow 剪切到旋转边界并显示“黑框”?
【发布时间】:2013-09-13 03:49:34
【问题描述】:

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

我知道问题在于 UIWindow,因为如果我将 UIWindow 的框架大小更改为 1280x1280 并为其着色,则不再显示任何黑色边框。但是,在那个尺寸下,UIWindow 的 rootView 会自动设置为 0,0,768,1024,这是无法更改的,因此我无法在过大的 UIWindow 中将此视图居中。

我该如何解决这个问题?

【问题讨论】:

    标签: ios objective-c ipad uiwindow rootview


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      相关资源
      最近更新 更多