in an iPad application, I am displaying a modal view controller (through presentModalViewController) in a FormSheet style (so it’s about 540 pixels wide and high), the root view controller displays fine (its frame’s size is set to roughly (540, 540) and my code takes care of laying out the content properly).
However, when a push a view controller, its frame’s size always has (768, 1024) which is wrong. I tried to set its frame explicitly like this:
DetailViewController* detailController = [[DetailViewController alloc] init];
detailController.view.frame = self.view.frame;
[self.navigationController pushViewController:detailController animated:YES];
Any ideas why it doesn’t set the size properly?
well,
layoutSubviewsshould be used if the actual frame of the view at runtime is needed. I ended up using that to lay the subviews inside the controller’s view. (although I had to create a customUIViewsubclass for controller’s view)