我在这里有一个小问题。我在同一个故事板上有两个视图控制器(MainStoryboard -> 纵向模式下的 Calc 视图控制器和横向模式下的 Calc 视图控制器)。当我最初创建一个bool
for时,shouldAutoRotate
它确实旋转了,但是“并且仍然存在”渲染问题,因为某些按钮等不在您期望的位置,换句话说,它们在横向模式下到处都是. 所以现在我在横向模式和主要纵向模式下创建了 2 个视图控制器。所以现在的关键是在这两个控制器之间切换。
在 CalculatorViewController.mi 中有
更新
我注意到一些方法已从 iOS 6 中删除(这就是我现在正在使用的方法)经过一些研究后我发现在 iOS 6 中“正确的方法”是这样的
@synthesize portraitView, landscapeView;
-(BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations:toInterfaceOrientation
{
if(UIInterfaceOrientationMaskAllButUpsideDown)
{
if ( UIInterfaceOrientationPortrait )
{
self.view = portraitView;
}
else if ( UIInterfaceOrientationLandscapeLeft )
{
self.view = landscapeView;
}
}
return YES;
}
然而,尽管我认为我在 iOS 6 中使用了正确的方法,但我仍然无法在旋转时调用正确的视图控制器
并在 CalculatorViewController.h
@interface CalculatorViewController : UIViewController {
IBOutlet UIView *portraitView; // declaring view - portrait
IBOutlet UIView *landscapeView; // declaring view - landscape
//rest of irrelevant code below
}
@property (nonatomic, retain) UIView *portraitView;
@property (nonatomic, retain) UIView *landscapeView;
只需忽略他们现在无关紧要的那 2 个白色控制器。提交图片以显示这 2 个视图控制器
感谢您的时间