【问题标题】:The best way to make a viewcontroller for different screens为不同屏幕制作视图控制器的最佳方法
【发布时间】:2015-12-10 11:29:58
【问题描述】:

我想知道为不同的 iPhone 屏幕制作 iOS 9 swift 2 xcode 7 的视图控制器的最佳方法是什么?

我尝试使用约束来实现,但从 iphone 4s 到 iphone 6s 屏幕,我们可以看到图标和文本字段等之间存在很大差距。

我的想法是为每个屏幕(5.5 英寸、4.7 英寸、3.5 英寸)制作不同的视图控制器,并让我的应用程序检查用户打开应用程序的屏幕并为此加载 unigue 视图控制器屏幕。

或者也许有更好的方法,但我是 swift 2.0 的新手,所以我请求你的帮助!

非常感谢您的宝贵时间。

【问题讨论】:

  • 使用约束应该可以解决您的问题,如果您发现一些差距可能是因为您没有以正确的方式设置约束。不要为不同的屏幕尺寸创建视图,这需要大量工作且难以维护。

标签: ios iphone swift2 ios9


【解决方案1】:

您可以使用 autolyout 和 size 类为多个屏幕创建视图。您有适合所有屏幕的比例约束。

比例约束意味着您可以设置例如 view1 是屏幕的 50%。 这些约束适用于所有屏幕。

避免过度使用尺寸等级(在不同的尺寸等级中应用约束)。尝试在 hAny wAny 布局中使用比例约束。

如果 ipad 上的设计与 iphone 不同,则只选择不同尺寸的等级。或者,如果您需要在不同设备上使用不同的字体大小。

https://developer.apple.com/library/ios/recipes/xcode_help-IB_auto_layout/chapters/EditingConstraintAttributesintheAttributesInspector.html

【讨论】:

    【解决方案2】:

    我认为这取决于您的要求和偏好。
    我通常更喜欢旧的Springs and Struts
    可以通过禁用自动布局和屏幕尺寸来使用它们。
    使用Springs and Struts,我只创建一个Storyboard 来管理所有iPhoneiPad 屏幕尺寸,无需任何编码工作。
    不管 UI 有多么复杂,对我来说Springs and Struts 是最好的解决方案。

    【讨论】:

    • 您能提供一些链接示例吗?谢谢!
    【解决方案3】:

    尺寸等级可为您提供更精细的粒度控制,以适应不同的尺寸和方向。请参考Apple's documentation

    【讨论】:

      【解决方案4】:

      据我了解,您希望将情节提要加载为设备屏幕的大小。

      我建议您参考此链接以根据屏幕尺寸加载不同的故事板。对不起Objective c,但希望它对您有所帮助。 Load different storyboards

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-27
        • 1970-01-01
        • 1970-01-01
        • 2017-10-02
        • 2017-12-02
        • 1970-01-01
        • 2011-03-06
        • 1970-01-01
        相关资源
        最近更新 更多