iOS>>设备方向>使用具有不同UI的相同VC

时间:2013-11-21 11:33:55

标签: ios device-orientation

我希望创建一个支持纵向和横向演示的应用程序。

旋转时UI对象之间没有区别 - 它们在两种状态下保持不变并且功能相同。

唯一应该改变的是每个UI对象在屏幕上的位置:

Portrait

Landscape

我认为使用Autolayout和Constraint在这里不起作用,因为对象实际上改变了它们的位置。

我希望在相同的VC(.h和.m文件)中工作,如果可能的话,在Storyboard中设计屏幕UI - 如果不可能,那么将其中一个设计为.xib文件也很酷

最重要的是:如何编写支持该代码的代码?

1 个答案:

答案 0 :(得分:0)

一种方法是在以编程方式旋转视图时设置新位置和尺寸。

您可以使用以下功能:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    [self yourNewPositioningFunction:[self interfaceOrientation]];
}

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    [self yourNewPositioningFunction:toInterfaceOrientation];
}