【问题标题】:Is it possible to make one design which can be used for different devices in iOS?是否可以制作一种可用于 iOS 中不同设备的设计?
【发布时间】:2018-07-09 08:02:29
【问题描述】:

我正在为 iOS 应用程序进行 iOS 设计,但我必须为每个设备使用尺寸等级。如果我使用一种可以在其他设备以及 android 等设备上使用的设计,有什么办法吗?

【问题讨论】:

  • 您需要研究自动布局并使用约束来定义您的界面。
  • 感谢您的回复。但在 ipad 设计中它非常复杂。是否有任何可用的标准。
  • 您可以使用自动布局设计一些非常复杂的界面,它可以简化很多流程。您可以在 Interface Builder 中以编程方式或组合定义约束。您可以根据大小类别打开和关闭它们,并在代码中访问它们以进行更精细的调整。我建议查找官方文档和一些好的教程。

标签: ios xcode ios-autolayout size-classes


【解决方案1】:

这个答案会很长。让它简短而甜蜜。

探索自动布局和约束。

无论您的应用有多大,您都可以通过自动布局来实现它。

【讨论】:

    【解决方案2】:

    是的,您可以通过一种方式为 IOS 设计一款适用于所有其他设备的应用。

    您必须以编程方式设置布局和约束

    示例 -

     let exampleImageView: UIImageView = {
                let imageView = UIImageView(image: "Your Image Name")
                imageView.translatesAutoresizingMaskIntoConstraints = false
                imageView.contentMode = .scaleAspectFit
                return imageView
            }()
    

    然后创建一个函数并设置宽度、高度等

     func setLayout(){
                    view.addSubview(exampleImageView)
                    exampleImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
                    exampleImageView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
                    exampleImageView.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.5).isActive = true
        }
    

    最后为什么要以编程方式构建布局 - 因为它不会在 IOS 应用程序的其他设备中崩溃。有关更多信息,您可以点击此链接- https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/ProgrammaticallyCreatingConstraints.html

    【讨论】:

    • 虽然有时您可能需要以编程方式构建约束,但并非绝对需要设计可在所有设备上工作的界面。您可以设计一些看起来与 Interface Builder 本身完全不同的复杂界面。话虽如此,以编程方式或其他方式自动布局都是可行的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 2014-01-28
    • 2012-01-15
    • 2012-12-29
    相关资源
    最近更新 更多