0

ここに画像の説明を入力してください

UIViewを作成しました。ビューをappdelegateウィンドウにサブビューしたい

  UIView *newView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 1048, 748)];
  AppDelegate *appdelegate = [[UIApplication sharedApplication]delegate];
  [appdelegate.window addSubview:newView];

これは、ビューをウィンドウにサブビューするのに役立ちますが、ビューはポートレートモードです。ビューをランドスケープモードにする必要があります。ビューをランドスケープモードに設定するにはどうすればよいですか。赤色のビューが白色のビューを完全にカバーするようにしたいのですが、どうすればよいですか?

RedColorはnewViewであり、白はviewControllerです。

4

1 に答える 1

2

オブジェクトをウィンドウに追加してから向きを変更したい場合は、変換メソッドを使用する必要があります。

#define DegreesToRadians(degrees) (degrees *M_PI /180)

行の上に追加

CGAffineTransform newTransform;
UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;
switch (orientation)
{
    case UIInterfaceOrientationPortraitUpsideDown:
        newTransform = CGAffineTransformMakeRotation(-DegreesToRadians(180));
        txt.transform = newTransform;
        txt.frame = CGRectMake(0, 0, 320, 480);
                break;
    case UIInterfaceOrientationLandscapeLeft:
        newTransform = CGAffineTransformMakeRotation(DegreesToRadians(-90));
        txt.transform = newTransform;
        txt.frame = CGRectMake(0, 0, 320, 480);

        break;
    case UIInterfaceOrientationLandscapeRight:
        newTransform = CGAffineTransformMakeRotation(DegreesToRadians(90));
        txt.transform = newTransform;
        txt.frame = CGRectMake(0, 0, 320, 480);


        break;
    default: 
        newTransform = CGAffineTransformMakeRotation(-DegreesToRadians(0));
        txt.transform = newTransform;
        txt.frame = CGRectMake(0, 0, 320, 480);

        break;                             
}    

ここで txt はオブジェクト名です。このようにしてみてください。

于 2012-09-13T06:48:52.060 に答える