在我的mainWindow.xib中,我有这个设置。
1)包含多个viewControllers的UINavigationController。
2)UIViewController包含一个包含多个按钮的scrollview。
我在Appdelegate.h中定义了它们以获取控件并将它们附加到窗口
[window addSubview:navigationController.view]; // navigationController
[window addSubview:container.view]; //scrollview
[window makeKeyAndVisible];
现在我使用相同的标准代码进行InterfaceOrientation(在AppDelegate及其后面的所有viewControllers中。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation==UIInterfaceOrientationPortrait ||interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown) ? YES : NO;
}
NavigationController及其后续的viewControllers按预期旋转,但scrollview没有。它的立场是固定的。
如何旋转容器。即使用按钮和navigationController滚动条,无论是使用任何If语句还是为scrollview定义单独的类。
答案 0 :(得分:0)
如果您想在主窗口中进行方向更改事件,可以在app delegate
中使用以下方法- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration
同时检查setAutoresizingMask:方法和相关的大小调整掩码。