设置垂直空间iOS时自动布局图像拉伸[重复]

Posted

技术标签:

【中文标题】设置垂直空间iOS时自动布局图像拉伸[重复]【英文标题】:Autolayout image stretched when set the vertical spaces iOS [duplicate] 【发布时间】:2016-06-04 07:17:05 【问题描述】:

视图层次结构:

    UIImageView 裁剪为圆形:

约束:Width、Height、Top Layout Guide垂直空间、Align X to SuperView、Align X to Camera Button

    相机按钮:

约束:Width、Height、Top space ImageView、Align center X to ImageView。

尝试这样裁剪图像

请建议避免这种情况。

【问题讨论】:

【参考方案1】:

你的约束应该是这样的:

图像视图:horizontally in container, Vertically in container, fixed width, fixed height

按钮:horizontally in container(align center x) and top。如果需要,则 fixed height and width(仅当按钮不是默认值时才需要,这意味着自定义按钮其他明智的两个约束就足够了 - 容器中的水平和顶部)

然后在你的 viewDidload 中设置你的 imageview 的cornerradius 之类的,

   self.imageViewProfile.layer.cornerRadius = 26.5; //corner radius should be exact half of your imageView's height
   self.imageViewProfile.layer.masksToBounds = YES;

希望这会有所帮助:)

【讨论】:

以上是关于设置垂直空间iOS时自动布局图像拉伸[重复]的主要内容,如果未能解决你的问题,请参考以下文章

仅在自动布局中具有固定宽度的垂直滚动视图

自动布局 - 在模拟器中运行时文本字段垂直拉伸

在水平堆栈视图(自动布局)中将文本与图像垂直居中 - iOS

iOS自动布局重置我所有的图像位置

自动布局为 UIButton 拉伸选定的图像

iOS 自定义键盘自动布局