0

いくつかのボタンとテキストビューとラベルを持つアプリがあります。デバイスを回転させて、画面に合わせて再描画したい。プログラミングでやりたい。現在、私はこれらの方法を持っています:

    -(void)willRotateToInterfaceOrientation:
(UIInterfaceOrientation)toInterfaceOrientation 
                               duration:(NSTimeInterval)duration {

    [super willRotateToInterfaceOrientation:toInterfaceOrientation  
                                   duration:duration];

    if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight ||
        toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
        [self reOrderSideways];
    } else {
        [self reOrderUpDown];
    }
}

-(void)reOrderSideways{
    self.viewLabel.frame=CGRectMake(175.0,140.0,130.0,20.0);
    self.buttonOne.frame=CGRectMake(20.0,20.0,440.0,100.0);
    self.buttonTwo.frame=CGRectMake(20.0,180.0,440.0,100.0);
    self.textContent.frame=CGRectMake(20.0, 290.0, 440.0, 100.0);
    self.theScroller.contentSize = CGSizeMake(480.0, 350.0);
}

-(void)reOrderUpDown{
    self.viewLabel.frame=CGRectMake(95.0,15.0,130.0,20.0);
    self.buttonOne.frame=CGRectMake(20.0,50.0,280.0,190.0);
    self.buttonTwo.frame=CGRectMake(20.0,250.0,280.0,190.0);
    self.textContent.frame=CGRectMake(20.0, 450.0, 280.0, 190.0);
    self.theScroller.contentSize = CGSizeMake(320.0, 460.0);
}

横に回転すると、ボタンとラベルとテキストビューが右側で切り取られるため、うまく機能しません。確認したところ、指定した座標を使用しているように見えますが、まだポートレート フレームまたは境界を使用しています。どうすればこれを修正できますか?

4

1 に答える 1

0

willAnimateRotationToInterfaceOrientation:代わりに使用してみてください。

于 2012-07-05T16:27:11.860 に答える