2011-07-28 45 views
7

我已經創建了一個自定義UIAlertView(通過繼承它的子類和它的顯示函數),它具有一些自定義子視圖並且具有非標準大小。旋轉UIAlertView

當我創建並顯示它時,它工作正常,但是,當設備旋轉時,警報會旋轉並返回到其默認大小。

任何想法什麼功能重寫 - 或者我應該調整UIViewController?

感謝, 彼得

如果
+0

好吧,我發現重置*邊界*矩形* setNeedsDisplay *寬orks重置大小......但是現在當我旋轉設備時,我有一個非常奇怪的事件鏈: 1)UIAlertView正確顯示, 2)UIAlertView縮回到默認大小 3)UIAlertView旋轉 4)UIAlertView返回到所需的大小 任何想法如何防止在動畫縮小? –

回答

4

不知道力旋轉UIAlertView中符合蘋果的圖形用戶界面的指導方針,但你可以通過定義狀態欄旋轉它(狀態欄和UIAlertView中粘在一起)

application.statusBarOrientation = UIInterfaceOrientationLandscapeRight; 
application.statusBarOrientation = UIInterfaceOrientationLandscapeLeft; 

但是UIAlertView中是一個UIView就像許多人一樣,所以試試這個:

- (void)didPresentAlertView:(UIAlertView *)alertView 
{ 
    [UIView beginAnimations:@"" context:nil]; 
    [UIView setAnimationDuration:0.1]; 
    alertView.transform = CGAffineTransformRotate(alertView.transform, degreesToRadian(90)); 
    [UIView commitAnimations]; 
} 
+0

似乎我的問題還不夠清楚......當設備方向改變時,我的UIAlertView自己旋轉。問題是它也改變了大小。 –

+0

我也面臨同樣的問題。 – Raxit

+0

這不起作用 –