Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift-响应约束和;项目大小_Ios_Swift_Autolayout_Constraints - Fatal编程技术网

Ios Swift-响应约束和;项目大小

Ios Swift-响应约束和;项目大小,ios,swift,autolayout,constraints,Ios,Swift,Autolayout,Constraints,我目前正与一个基本的初学者问题作斗争。我的应用程序应该在所有不同的iPhone上运行。我现在的问题是,我的约束没有真正响应 示例: 正如你在iPhone11上看到的,一切看起来都很好,但在iPhone6S上,有时会有点混乱 我的问题是,有没有一种简单的方法让我的设计更具响应性?不仅是约束条件,还有文本(如第3张图片中的“主愿望列表”) 顺便说一句,我正在以编程的方式做每件事。在此方面的任何帮助都将不胜感激:) 使用动态类型可以解决动态字体问题 下面是一个示例,说明如何使用动态类型根据内容大小

我目前正与一个基本的初学者问题作斗争。我的应用程序应该在所有不同的iPhone上运行。我现在的问题是,我的约束没有真正响应

示例:

正如你在iPhone11上看到的,一切看起来都很好,但在iPhone6S上,有时会有点混乱

我的问题是,有没有一种简单的方法让我的设计更具响应性?不仅是约束条件,还有文本(如第3张图片中的“主愿望列表”)

顺便说一句,我正在以编程的方式做每件事。在此方面的任何帮助都将不胜感激:)

  • 使用动态类型可以解决动态字体问题
下面是一个示例,说明如何使用动态类型根据内容大小自动缩放字体:

guard let customFont = UIFont(name: "CustomFont-Light", size: UIFont.labelFontSize) else {
    fatalError("""
        Failed to load the "CustomFont-Light" font.
        Make sure the font file is included in the project and the font name is spelled correctly.
        """
    )
}
label.font = UIFontMetrics(forTextStyle: .headline).scaledFont(for: customFont)
label.adjustsFontForContentSizeCategory = true

  • 使用自动收缩属性 遵循这个公认的答案


好的,文本问题可以通过自动缩放字体轻松解决,约束是“响应性”的。这正是约束的含义:响应性。如果您的接口没有按照您想要的方式出现,那么您的约束是错误的(出于您的目的)。不幸的是,“有时有点混乱”并不是描述性的,我们不知道你的限制是什么,也不知道你希望iPhone 6s上的界面是什么样子,所以帮不上忙。你的设计反应灵敏,“在iPhone 6s上有时有点混乱。”是主观的。想象一下,您将要求开发人员使用iPhone X定义的设计创建一个应用程序。在项目验证时,您说该应用程序没有按照您在iPhone 8和iPhone 11 Max上所希望的那样响应。您必须明确定义一个设计,通过说明布局在不同屏幕尺寸上的表现来说明这一点有些事情没有按你希望的那样工作。