所以我想添加一个宽度为450和屏幕高度的UIViewController,所以如果是肖像,那么高度为1024,如果是横向,则高度为768.这个名为ProfileViewController的视图控制器有一个设置的xib在450和1024.自动调整大小设置为具有灵活的高度。
profViewController = [[ProfileViewController alloc] initWithNibName:@"ProfileViewController" bundle:nil];
self.profileViewController_ = profViewController;
[profViewController release];
所以在ProfileViewController中我也在初始化另一个名为FeedsViewController的视图控制器。现在的问题是,在profViewController viewDidLoad中,无论方向是什么,高度始终设置为1024。我该怎么做才能调整到我的方向?我已经尝试设置profViewController的边界,但是这个更改会在viewDidLoad之后反映出来。
答案 0 :(得分:0)
要查找高度和宽度,请尝试使用
CGRect screenRect = [[UIScreen mainScreen] bounds]; CGFloat screenWidth = screenRect.size.width; CGFloat screenHeight = screenRect.size.height;
答案 1 :(得分:0)
覆盖profViewController的以下方法
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
if(toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, 450, 1024);
}
else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeRight || toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft){
self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, 450, 768);
}
}
答案 2 :(得分:0)
如果您设置FeedsViewController
视图的框架的方式与在NIB中设置ProfileViewController
视图框架的方式相同,那么事情应该会自动正确调整大小。也就是说,你给它一个初始大小就是你想要的相对于外部视图的大小,然后让系统的自动调整大小行为从那里开始。
在ProfileViewController
的{{1}}:
viewDidLoad
答案 3 :(得分:0)
如果您想更改工作台视图框架,则应该在viewDidAppear:
而不是viewDidLoad:
中进行更改。