2012-10-26 75 views
0

可能重复:
Can I rotate a UIView without the black bars?如何防止UIView背景旋转?

我想对我的UIView旋转标签(和他们做),但我已经设置了background除黑色以外的颜色。当我旋转你可以看到视图的矩形旋转黑色background。我如何保持UIViewbackground仍然允许subviews的其余部分正常旋转?那一切背后是什么黑色的background?我有权访问它吗?

+2

你能发布一些代码?我们将更快地为您提供帮助 – Nekto

+0

这是一个非常通用的实现,事实上,旋转后的“单一视图应用程序”将显示默认的白色背景旋转到黑色背景之上。我想阻止黑色背景被看到。 –

+0

我认为你不能做太多的事情。 – SayeedHussain

回答

2

我不确定我完全理解这个问题。我觉得你的问题(如果我误解请澄清在那里,我发现了问题,错误):

  • 你有一个UIView,其大小为设备的屏幕一样。
  • 你想旋转该视图。
  • 当您旋转该视图时,可以看到视图的父视图的背景。

我认为唯一的方法来解决这个要么是:

A)让你旋转大于屏幕,这样当你旋转父视图是不可见的视图。如果你这样做,请确保父视图没有设置为剪辑它的子视图,否则在调整大小后你不会看到任何区别。

OR

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

P.S. - 我认为“背后的黑色背景”是应用程序UIWindow的背景颜色。如果你想改变,你可以做以下(假设你的应用程序委托有一个窗口属性定义,但如果你使用标准的Xcode模板来创建应用应该):

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