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);
}

它不太好用,因为当我横向旋转时,按钮和标签以及 textview 会在右侧被截断。我检查了它,它看起来像使用我给它的坐标,但它仍然使用纵向框架或边界。我怎样才能解决这个问题?

4

1 回答 1

0

尝试willAnimateRotationToInterfaceOrientation:改用。

于 2012-07-05T16:27:11.860 回答