2011-01-26 35 views
1

ユーザーがデバイスを回転させたときに私のビューを変更する必要はなく、初期化時に水平にする必要があります。水平ビューを作成するにはどうすればいいですか?

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
     return NO; 
    } 
- (void)viewDidLoad { 
     [super viewDidLoad]; 
     [self.view setTransform:CGAffineTransformMakeRotation(M_PI/2)]; 
     UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 150, 768, 500)]; 
     myView.backgroundColor = [UIColor blueColor]; 
     [self.view addSubview:myView]; 
    } 

問題は、アプリケーションが起動するときにビューが左側に近くないことです。まだ空白があります。 フレームIがCGRectMake(0,150,768,500)に設定されていますが、理由はわかりません。 ありがとう!

答えて

1

私はあなたの質問で特定のために言うことはできませんが、:あなたはビューがランドスケープモードにすることにしたい場合は、次のコードを試してみたくなるでしょう:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
} 
0

UIView * myView = [[UIView alloc] initWithFrame:CGRectMake(0、150、768、500)]; ビューを回転していない場合、座標系はポートレートモードに似ています。 try UIView * myView = [[UIView alloc] initWithFrame:CGRectMake(150、0、768、500)];

+0

それが働いたdoesntの。 (0、150、768、500)の左と上の両方にブランクスコープがあります。 – Solskjaer

+0

よく、その後CGRectMakeコードで試してみてください。コード全体が見えないので、もっと助けることはできません。 – Max

関連する問題