不同的肖像和景观布局

时间:2014-03-08 16:24:18

标签: ios objective-c screen-orientation uiinterfaceorientation

我正试图处理Xcode中的布局。我似乎无法找到一篇写得很好的文章,以便我的虚弱思想可以遵循。我有10年的编程经验,但刚进入Objective-C。我需要一些关于处理不同视图的教程。似乎他们会为设计旋转的设备开发一些更好的工具。

这是我的特殊困境:应用程序在纵向视图中加载,并在侧面有几个按钮,如下所示:

[Button]

[Button]

[Button]

然而,当设备旋转时,我希望按钮水平对齐,如下所示:

[Button]    [Button]     [Button]

那么有没有人有任何建议或知道一个教程来帮助我实现这一目标,以及更好地掌握方向?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您的问题的简单答案是:您必须以编程方式执行此操作,或将其放在UICollectionView中。 UICollectionViews实际上是用于显示许多项目,而不仅仅是三个,所以实际上只剩下一件事了:在代码中执行它!

在处理此部分应用的viewController中,您应该使用viewDidLoadinit方法在某处运行此行:

[[NSNotificationCenter defaultCenter] addObserver:self 
                                      selector:@selector(didRotate:) 
                                      name:UIDeviceOrientationDidChangeNotification                      
                                      object:nil];

这将调用方法- (void)didRotate:(NSNotification *)notification

您可以像这样实现此方法:

- (void) didRotate:(NSNotification *)notification
{   
      UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];

       if (orientation == UIDeviceOrientationLandscapeLeft)
      {
        NSLog(@"Landscape Left!");
      }
}

在找到设备的方向后,放置您的布局代码。

现金: 我借用了这个帖子的代码,Thx View rotation notifications: why didRotateFromInterfaceOrientation: doesn't get called?