2012-09-29 31 views
4

我有一個出口集合陣列幾UIButtons我希望這個代碼旋轉:如何旋轉UIButtons 90度,沒有自動佈局錯誤?

for(UIButton *button1 in b90){ 
    button1.transform = CGAffineTransformMakeRotation((90 * M_PI)/180); 
} 

遺憾的是它不工作。如果我給它一個可以旋轉180度或360度pi或2 pi等(基本上意味着按鈕將在同一個地方),但如果我給它任何其他值,將離開按鈕在傾斜的方向我得到這個錯誤:

終止應用程序由於未捕獲異常「NSInternalInconsistencyException」,原因:'Autolayout不支持跨邊界轉換與邊界佈局約束,如右,左,上,下。違規的觀點是:>'

框架和轉換部分是自我解釋的。我認爲這只是說它不希望按鈕被歪斜。我可以通過檢查xib文件中的'使用Autolayout'按鈕來避免這個問題,但是這會使旋轉後的按鈕看起來像素化。如果您在運行時旋轉iDevice,則會出現非相關問題,然後由於某種原因將其旋轉,但這不是我想要的。

任何想法,如何orate按鈕,而不是禁用'使用Autolayout'選項?

所有幫助非常感謝,我總是檢查最佳答案!

回答

4

我使用相同的語句,它爲我的作品:

#define DEGREES_TO_RADIANS(d) (d * M_PI/180) 
btn.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-90)); 

我認爲你正在使用的IOS 6.0的代碼,其中,自動佈局與老Xcode中啓用。

你能提供更多的細節嗎?

謝謝