展示两个UIViewControllers,一个用于风景,一个用于肖像是可能的吗?

时间:2014-01-02 11:56:09

标签: ios iphone

ios新手,有一个仪表板屏幕,有许多UIObject,因此在故事板中创建了一个横向视图控制器。现在我想要现在的纵向视图控制器和横向视图控制器,取决于方向。

4 个答案:

答案 0 :(得分:0)

这不是实施的好方法。

使用单个viewcontroller根据你的设计在基本viewcontroller上添加两个uiview。

AutoLayout仅适用于ios 6及以上版本

https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/Introduction/Introduction.html

答案 1 :(得分:0)

有一种称为Autolayout和Constraints的东西,用于为两个方向呈现单个viewcontroller

约束有点先进。尝试获取有关Autoresizingmasks的一些知识,并将Autolayout应用于您的视图。

Autolayout可以减少大量代码。

这里有很好的解释。看一下这个 http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1

答案 2 :(得分:0)

OfCourse您可以使用以下代码

来完成
if (self.interfaceOrientation == (UIInterfaceOrientationLandscapeLeft) || self.interfaceOrientation == (UIInterfaceOrientationLandscapeRight))
{
    //Hide the portrait view and show the Landscape view
        [self.Portraitview setHidden:YES];
        [self.Landscapeview setHidden:NO];
}
else if (self.interfaceOrientation ==  UIInterfaceOrientationPortrait)
{
    //Show the portrait view and Hide the Landscape view
        [self.Portraitview setHidden:NO];
        [self.Landscapeview setHidden:YES];
}

答案 3 :(得分:0)

不要对两个方向使用两个单独的视图,这将导致使用单个viewController导致大量内存消耗。总是使用单视图控制器。你不熟悉在横向模式下按下实际视图的自动布局,然后在viewdidlayout或viewwilllayout方法中设置它。