【问题标题】:Is it possible to have one layout per device instead of auto layout?每个设备是否可以有一个布局而不是自动布局?
【发布时间】:2017-01-10 08:31:55
【问题描述】:

在 XCode 中,我想根据使用的设备有不同的布局。例如,如果它是 iPad,我希望图像向左对齐,一些文本向右对齐,而在 iPhone 7 上,我希望图像位于文本上方。有点像响应式网站,我们可以根据设备宽度管理布局。

在 XCode 中是否可以使用 Storyboards?还是应该继续使用自动布局功能?

谢谢!

【问题讨论】:

  • 你真的应该使用自动布局,有一天当苹果决定为他们的手机添加一个新的屏幕尺寸时,你的应用布局会在没有更新的情况下中断,这可能需要你一段时间才能推出,具体取决于多少 UI你的应用有

标签: ios xcode storyboard ios-autolayout


【解决方案1】:

autolayout的帮助下,我们可以在不同的屏幕尺寸上实现不同的布局。您可以在 Storyboard 中更改 constants values 以获取不同大小的类。

步骤:-

  • 选择我们想要改变其他尺寸等级的值的常量。
  • 在属性检查器中选择常量后,可以看到常量的值。您可以在旁边看到加号 (+),在“常数”的左侧。
  • 点击它并选择您想要的尺码等级。
  • 给它一个新值。

【讨论】:

    【解决方案2】:

    我找到了这个answer 来回答你的问题。

    但是,如果如您所说,您只想为 iPad 和 iPhone 提供不同的显示器,您可以通过以下简单方式区分它们:

    if UIDevice.current.userInterfaceIdiom == .pad {
    
        // Show iPad UI
    
    } else {
    
        // Show iPhone UI
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      相关资源
      最近更新 更多