0

I have an app that has some buttons and a text view and a label. I want to rotate the device and have them redrawn on the screen to fit. I want to do it programatically. Currently I have these methods:

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

It doesn't quite work because when i rotate sideways, the buttons and labels and textview get cutoff the right side. I checked it and it looks like its using the coordinates I gave it but it is still using the portrait frame or bounds. How can i fix this?

marciokoko
  • 4,988
  • 8
  • 51
  • 91

1 Answers1

0

Try using willAnimateRotationToInterfaceOrientation: instead.

MrMage
  • 7,282
  • 2
  • 41
  • 71