自定义横向/纵向视图

Posted

技术标签:

【中文标题】自定义横向/纵向视图【英文标题】:Custom Landscape/portrait view 【发布时间】:2011-06-01 04:59:37 【问题描述】:

我希望我的按钮以特定方式排列用于纵向视图,并以不同方式排列用于横向视图。我还希望能够将现在可能在我的纵向视图中的东西添加到我的横向视图中。我知道这是可能的原因显然是每部 iphone 附带的计算器应用程序。当您将其横向倾斜时,它会为您提供一组全新的按钮。有谁知道如何创建在 iphone 正面朝上时加载的自定义纵向视图以及如何在 iphone 侧面使用不同按钮时创建自定义横向视图?

【问题讨论】:

【参考方案1】:

您可以尝试为每个方向设置两个单独的 nib 文件。您可以基于此自定义笔尖。

【讨论】:

这里是苹果文档的链接,了解如何做到这一点:developer.apple.com/library/ios/#featuredarticles/… 这就是我目前正在做的,所以我可以保存两个笔尖,但我不知道如何通过旋转 iphone 来切换笔尖文件 好的,现在它的切换很棒,但是我的 Landscape nib 文件不起作用(几乎没有代码,除了 wat 用于旋转它)。我只需要基本上复制并粘贴我在纵向视图中为所有按钮使用的代码(因为很多都是相同的)还是有更有效的方法来做到这一点? 嗨 7KV7.. 感谢您的回答。通过它我可以确定它是可能的。但我被困在故事板中。如何使用 stroyboard 实现相同的目标。非常感谢任何帮助【参考方案2】:

    创建两个不同的视图控制器(即故事板中的 NIB 文件或项目)。调用 MyViewControllerLandscape 和 MyViewControllerPortrait 类。

    以编程方式创建第三个视图控制器类。将其命名为 MyViewController,并使其成为横向和纵向控制器的父类。 这样您就可以将两个控制器的所有通用代码放在父类中,而只将方向特定的代码放在其他两个中。

    按照http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/BasicViewControllers/BasicViewControllers.html#//apple_ref/doc/uid/TP40007457-CH101-SW26 的说明,了解如何在横向和纵向视图控制器之间切换。

【讨论】:

以上是关于自定义横向/纵向视图的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8 横向纵向模式下的自定义键盘

定向更改时的列表视图的自定义对话框(横向模式)

带有自定义转场的自动布局

如何在 iOS 中支持横向和纵向视图?

自定义 UICollectionViewCell 子视图布局问题

如何显示自定义模态 UIView?