2012-10-26 107 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>];