【问题标题】:Autolayout aspect ratio for UIImageView / UIViewUIImageView / UIView 的自动布局纵横比
【发布时间】:2015-02-28 19:53:03
【问题描述】:

如何为 UIImageView /UIView 设置自动布局,以便 iphone 6 和 6 plus 的图像视图宽度和高度增加一点。我尝试添加约束纵横比,但增加的高度和宽度非常大。无论如何设置图像视图的约束高度和宽度可以为iphone 6和6 plus手动设置。看一下屏幕截图,iphone 6 和 6 plus 中的图像视图应该比现在显示的要小一些。

【问题讨论】:

标签: ios uiview uiimageview autolayout xib


【解决方案1】:

有时使用纵横比限制并没有帮助。在这种情况下,使用带有公式的等宽和等高约束,我将在下面举例说明。

假设我有一个 UIView 占据 iPhone 5 的整个宽度,即 320 点。 (记住 1 点 = 2 像素用于视网膜显示)和 46 点的高度。我想要这个 UIView 里面的一个按钮(宽度 = 30 点,高度 = 60 点),它会根据具有相同纵横比的不同手机调整大小。 我将控制从按钮拖动到 UIView 并第一次选择相等的宽度,然后将再次使用相等的高度做同样的事情。在此之后,我将选择约束并确保第一项是按钮,第二项是 UIView。然后我将使用这个公式来计算乘数:

计算宽度乘数: 60(按钮宽度)/320(UIView 宽度)* 100 = 18.75%

计算高度乘数: 30(按钮高度)/46(UIView 高度)* 100 = 65.217%

现在输入这个乘数(记得像上面一样使用 %age 符号),这应该会针对不同大小的 iPhone 屏幕调整按钮的大小。

【讨论】:

  • 这假设包含视图的纵横比总是相等的,今天可能是这样,但明天可能不是。
【解决方案2】:

据我了解,您的问题是您想控制在每种不同的屏幕尺寸下图像将增加多少。你可以控制一切。您需要做的是在图像上分配等宽约束。首选图像的宽度。该关系将与超级视图有关,然后您可以通过添加自己的乘数来更改关系。

你需要做什么:

1) 选择您的图像视图。

2) 按住控制键。按住它时,将鼠标从图像视图拖到外部视图。

3) 选择“等于宽度”。

4) 双击“约束”选项卡中的约束。

5) 确保图像视图显示为第一项,如果没有单击第一项并选择“反转第一项和第二项”。

6) 使用乘数,直到您对预览屏幕上的结果感到满意为止。

【讨论】:

    猜你喜欢
    • 2014-10-23
    • 2015-07-01
    • 2017-01-20
    • 2020-01-16
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    相关资源
    最近更新 更多