【问题标题】:View size control in iPad and iPhoneiPad 和 iPhone 中的视图大小控制
【发布时间】:2017-12-02 03:59:21
【问题描述】:

我正在设计我的观点之一

MainView

我计划在我的MainView 中有一个较小的 View 实例。我需要做的是: 当应用程序在 iPhone 上运行时,视图大小应该是正方形,并且它的宽度等于屏幕的宽度。当应用程序在 iPad 上运行时,宽度应为屏幕宽度的 1/3。

那么如何在 iPhone 和 iPad 上定义不同的宽度比例。如何解决这个问题?我可以在故事板文件中执行此操作还是必须通过代码执行此操作?提前致谢。

【问题讨论】:

标签: ios autolayout size-classes


【解决方案1】:

在您的故事板文件中,您需要为特征创建变体。在故事板检查器的右下角有一个按钮,上面写着“Vary for Traits”,使用它您可以根据设备尺寸(iPad/iPhone)设置约束以具有不同的常量值。

在这种情况下,您可以将较小视图的前缘和后缘固定到父视图的两侧,并且对于 iPhone 将 trait 更改为等于 0,而 iPad 的空间可以设置为 10 点(不管你想要多少空间)。

创建自适应 UI 可能是并且是一个相当复杂的主题,所以如果您没有经验,就像 @Zack Leonidas Hamblen 所说,请查看该文章并阅读以更好地了解正在发生的事情以及如何有效地使用它.

【讨论】:

    【解决方案2】:

    您可以在 Storyboard 中设置约束,为约束创建 @IBOutlet 并执行以下操作:

    if UIDevice.current.userInterfaceIdiom == .pad {
        // set the width constraint = 1/3 of the screen width
    } else {
        // set constraint = screen width
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多