2011-07-28 24 views
7

カスタムサブビューを持ち、非標準サイズのカスタムUIAlertViewをサブクラス化して、の表示関数で囲んで作成しました。UIAlertViewを回転させる

デバイスを作成して表示すると問題なく動作しますが、デバイスを回転させると警告が回転してからデフォルトのサイズに戻ります。

どのような関数をオーバーライドするか、または私はUIViewControllerを調整する必要がありますか?

おかげで、 ピーター

+0

さて、私が見つけたこと*境界をリセット* *のsetNeedsDisplay矩形*ワット私は、デバイスを回転させるたびにかなり奇妙な一連のイベントを持っています: 1)UIAlertViewが正しく表示されています。 2)UIAlertViewがデフォルトサイズに縮小します 3)UIAlertViewが回転します 4)UIAlertViewが希望のサイズに戻ります アニメーション中の縮小を防ぐ方法はありますか? –

答えて

4

ないUIAlertViewを回転力は、Apple GUIのガイドラインに適合していますが、ステータスバー定義することによって、それを回転させることができます(ステータスバーをして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

これは動作しません –

関連する問題