如何使用 UIButton 设置 UIimageView 的 AutoLayout 约束?

Posted

技术标签:

【中文标题】如何使用 UIButton 设置 UIimageView 的 AutoLayout 约束?【英文标题】:How to set AutoLayout constraint of UIimageView with UIButton? 【发布时间】:2016-01-16 04:01:31 【问题描述】:

这棵树包含的cicle 是一个UIImageView 的图像,但圆圈中的文本是一个UIButton。当设备更换时,比如iPhone5换成iPhone6 Plus,图片比例变大。 Button 总是移动到圆圈的外侧。如何解决问题?

【问题讨论】:

【参考方案1】:

自动布局有一个称为比例的功能。这意味着通过选择任何 2 个 UI 对象,您可以为它们之间的任何约束设置比例,例如宽度、高度等。在游览案例中,还选择 imageview 和按钮,然后移动到约束视图,双击任何对象宽度约束,即按钮宽度或图像宽度。在那里您可以找到一个称为比例的选项。根据您的要求,您希望始终在图像视图内有一个按钮,这意味着按钮比例应小于图像视图比例。所以你可以设置 2:3,意味着按钮宽度是 imageview 的 2/3 部分。现在按钮将始终是图像视图的一部分,与您运行的设备无关。

【讨论】:

【参考方案2】:

您可以像此屏幕截图一样为按钮添加相对于 imageView 的比例宽度和高度约束

这里我没有为 imageview 添加固定的高度和宽度约束,因为图像视图从其内容中获取宽度和高度,即从提供给它的图像中获取,如果你想修复图像视图的高度和宽度,那么你也可以提供这些.

【讨论】:

以上是关于如何使用 UIButton 设置 UIimageView 的 AutoLayout 约束?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 UIButton 设置 UIimageView 的 AutoLayout 约束?

如何设置 UILabel 以通过 AutoLayout 包装 UIButton?

如何使用 Kingfisher 在 UIButton 的 setBackgroundImage 期间设置 indicatorType

如何使用 UIButton 为单元格设置动画?

Swift - 无论状态如何设置 UIButton 标题

如何使用同一类的另一个对象设置自定义类 UIButton?