如何防止UIView背景旋转?

时间:2012-10-26 19:16:01

标签: objective-c ios cocoa-touch uiview uikit

  

可能重复:
  Can I rotate a UIView without the black bars?

我想让UIView上的标签旋转(他们确实如此),但我已将background设置为黑色以外的颜色。旋转时,您可以看到视图的矩形旋转为黑色background。如何保持UIView的{​​{1}}仍允许background的其余部分正常旋转?什么是黑色subviews背后的一切?我可以访问它吗?

1 个答案:

答案 0 :(得分:2)

我不确定我完全理解这个问题。我认为你的问题是什么(如果我误解,请说明我的问题在哪里错了):

  • 你有一个与设备屏幕尺寸相同的UIView。
  • 您想要旋转该视图。
  • 旋转该视图时,可以看到视图父视图的背景。

我认为解决这个问题的唯一方法是:

A)使视图旋转大于屏幕,以便在旋转时父视图不可见。如果这样做,请确保父视图未设置为剪辑它的子视图,否则在调整大小后您将看不到任何差异。

OR

B)使父视图的背景颜色与您正在旋转的视图的颜色相匹配。如果您不想永久更改父视图的背景颜色,则可以在开始动画时更改颜色,并在完成后恢复为原始颜色。

P.S。 - 我认为“一切背后的黑色背景”是应用程序UIWindow的背景颜色。如果您想要更改它,您可以执行以下操作(假设您的应用程序委托已定义窗口属性,但如果您使用其中一个标准Xcode模板来创建应用程序,则应该执行以下操作:

UIWindow* window = [[UIApplication sharedApplication].delegate window];
[window setBackgroundColor:<Some UIColor>];