UIView Center does not seem to change with orientation change
UIView Center does not seem to change with orientation change
- Subject: UIView Center does not seem to change with orientation change
- From: Rich Collyer <email@hidden>
- Date: Fri, 13 Sep 2013 13:27:37 -0700
I am looking at at view that covers the entire iPhone screen. The app is also required to only work in Landscape. I see that in viewWillAppear the bounds and center of the view are in Portrait mode - this is fine. However, in viewDidAppear the bounds of the view are in Landscape, but the center is unchanged. This makes the center of the view incorrect, which make transformations wrong and any calculations based on the center of the view wrong.
Should the app force a new center on an orientation change?
Further I find that running this code:
- (void)viewDidAppear:(BOOL)animated
{
[self.view setFrame: CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
[self.view setBounds:storeView.frame];
NSLog(@"viewDidAppear");
NSLog(@"self.view.bounds: %@", [NSValue valueWithCGRect:self.view.bounds]);
NSLog(@"self.view.frame: %@", [NSValue valueWithCGRect:self.view.frame]);
NSLog(@"self.view.center: %@", [NSValue valueWithCGPoint:self.view.center]);
}
generates these logs:
viewWillAppear
self.view.bounds: NSRect: {{0, 0}, {320, 568}}
self.view.frame: NSRect: {{0, 0}, {320, 568}}
self.view.center: NSPoint: {160, 284}
viewDidAppear
self.view.bounds: NSRect: {{0, 0}, {568, 320}}
self.view.frame: NSRect: {{124, -124}, {320, 568}}
self.view.center: NSPoint: {284, 160}
Where does the {124, -124} come from?
Rich Collyer
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden