4

このコードを使用すると:

- (void)viewDidLoad
{
    [super viewDidLoad];
    CGFloat mainViewWidth = self.view.bounds.size.width;
    NSLog(@"%f", mainViewWidth);
}

私はシミュレーターで結果を得ました:480

iPhone 4 でアプリを起動すると、結果が 320 になりました。

私は何か間違ったことをしましたか?

4

3 に答える 3

13

で同じことを行いviewWillAppearます。

-(void)viewWillAppear:(BOOL)animated{
    CGFloat mainViewWidth = self.view.bounds.size.width;
    NSLog(@"%f", mainViewWidth);
}

正しい値を取得しているかどうかを確認してくださいViewDidLoad。ビューが完全に描画される前に呼び出されます。size プロパティにアクセスUIViewすると、予測できない値が得られます。

于 2012-12-04T09:14:48.040 に答える
0

これを試して

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    CGFloat width = CGRectGetWidth(self.view.bounds);
}
于 2012-12-04T09:14:36.430 に答える