iPhone - UIViewController not rotating when device orientation changes

Posted by Ryu on Stack Overflow See other posts from Stack Overflow or by Ryu
Published on 2009-01-11T11:51:50Z Indexed on 2010/05/19 7:20 UTC
Read the original article Hit count: 387

Filed under:
|

I have got my own custom UIViewController, which contains a UIScrollView with an UIImageView as it's subview. I would like to make the image to auto rotate when device orientation changes, but it doesn't seem to be working...

In the header file, I've got;

@interface MyViewController : UIViewController <UIScrollViewDelegate> {
	IBOutlet UIScrollView	*containerView;
	UIImageView	*imageView;
}

These components are initialised in the loadView function as below;

	containerView = [[UIScrollView alloc] initWithFrame:frame];

	NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://..."]];
	UIImage *image = [[UIImage alloc] initWithData:data];
	imageView = [[UIImageView alloc] initWithImage:image];
	[image release];

	[containerView addSubview:imageView];

And I have added the following method, assuming that's all I need to make the view auto-rotate...

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
	return YES;
}

MyViewController loads fine with the image I've specified to grab from the URL, and the shouldAutorotate... function is being called, with the correct UIInterfaceOrientation, when I flip the device too.

However, didRotateFromInterfaceOrientation method do not get called, and the image doesn't seem to rotate itself... Could someone please point out what I need to add, or what I have done wrong here?

Thanks in advance!

© Stack Overflow or respective owner

Related posts about iphone

Related posts about cocoa-touch