2

最近、 のサブクラスであるカスタム Alert を作成しましたUIWindowUIViewControllerが横向きのときにアラートを回転させようとしています。正常に回転できますが、原点が画面の左上隅になるように再配置するのに問題があります。私は以下のコードを持っています:

    CGRect mainScreenBounds = [[UIScreen mainScreen] bounds];
    UIDeviceOrientation deviceOrientation = [[UIApplication sharedApplication] statusBarOrientation];
    if (deviceOrientation == UIDeviceOrientationPortrait)
    {
        self.frame = CGRectMake(0,0, mainScreenBounds.size.width, mainScreenBounds.size.height);
    }
    else
    {
        self.frame = CGRectMake(0,0, mainScreenBounds.size.height, mainScreenBounds.size.width);

        if (deviceOrientation == UIDeviceOrientationLandscapeLeft)
        {
            self.transform = CGAffineTransformRotate(self.transform, M_PI / 2);
        }
        else
        {
            self.transform = CGAffineTransformRotate(self.transform, -M_PI / 2);
        }
        self.center = CGPointMake(self.bounds.size.width / 2, self.bounds.size.height / 2);
    }

を設定しcenterても、なんらかの理由で何もしないようです。ここで私が間違っている可能性があることについて、誰かが何か手がかりを持っていますか?

4

1 に答える 1

-5

1 つのアプリケーションに複数の UIWindow を含めることはできません。すでに1つあります。再実装、UIView からのサブクラス化。

UIWindowドキュメントから: 「アプリが外部デバイスの画面にコンテンツを表示できない限り、アプリにはウィンドウが 1 つしかありません。」

于 2013-04-08T18:53:33.570 に答える