Resize view on iPhone when rotating

Posted by BCBomb47 on Stack Overflow See other posts from Stack Overflow or by BCBomb47
Published on 2010-03-31T19:11:01Z Indexed on 2010/03/31 19:13 UTC
Read the original article Hit count: 348

Filed under:
|
|
|
|

I have an application with many views. I want only a couple of the views to be able to rotate to landscape when the device is rotated. I found out that I couldn't use (BOOL)shouldAutorotateToInterfaceOrientation because that would rotate every view in my app. I found a solution to this problem here on Stack Overflow but now I have another issue to deal with.

The view rotates when I turn the device but it still shows the view as if it were still in portrait mode (straight up and down). The top and bottom of the view is cut off. Is there a way to have the view rotate and also adjust its size to fit the new orientation? I also found this but wasn't able to get it to work.

Here's my code for that view:

@implementation businessBank
@synthesize webView, activityIndicator;



- (void)viewDidLoad {



[super viewDidLoad];
 NSString *urlAddress = @"website_url";

 NSURL *url = [NSURL URLWithString:urlAddress];
 NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

 [webView loadRequest:requestObj];
 [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
 [[NSNotificationCenter defaultCenter] addObserver:self
            selector:@selector(didRotate:)
             name:UIDeviceOrientationDidChangeNotification
              object:nil];

    }

    - (void)didRotate:(NSNotification *)notification {

        UIDeviceOrientation orientation = [[notification object] orientation];

        if (orientation == UIDeviceOrientationLandscapeLeft) {
      [self.view setTransform:CGAffineTransformMakeRotation(M_PI / 2.0)];
        } else if (orientation == UIDeviceOrientationLandscapeRight) {
            [self.view setTransform:CGAffineTransformMakeRotation(M_PI / -2.0)];
        } else if (orientation == UIDeviceOrientationPortraitUpsideDown) {
            [self.view setTransform:CGAffine

TransformMakeRotation(M_PI)]; } else if (orientation == UIDeviceOrientationPortrait) { [self.view setTransform:CGAffineTransformMakeRotation(0.0)]; } }

© Stack Overflow or respective owner

Related posts about iphone

Related posts about xcode