自动布局保持拉伸UIImageView

 溪龙2012_753 发布于 2023-02-07 14:35

我正在使用自动布局,这让我发疯.我已尽我所能阻止UIImageView全面展开.我不知道为什么会那样做.我尝试使用约束,解决自动布局问题.目前,唯一的解决方案是转动汽车布局本身.

谁能告诉我为什么xcode完全无视我的约束?当我明确地设置它时,我希望UIImage保持为320x320,但是noooooooo ....

我想发布图片,但网站不会让我,我想为这个问题添加代码,以便它更具体,但根本没有代码.我只是从故事板中拖出"UIImageView",使其变小,按原样设置约束,而它只是忽略了我的代码.

3 个回答
  • 使用自动布局时,大小检查器中的值几乎被忽略.

    您在此处输入的任何内容都将被忽略

    您可能希望如果在Size Inspector上的框中键入数字,Xcode会自动创建约束以反映您键入的内容,但事实并非如此.您需要自己创建"Pin"约束,以获得您的高度和宽度UIImageView.

    选择故事板上的图像视图

    单击故事板屏幕右下角的"Pin"按钮

    在"宽度"和"高度"字段中键入所需的大小,并确保选中这些框

    单击"添加2个约束"按钮

    在此输入图像描述

    完成后,您应该能够在屏幕右侧的大小检查器中看到您的约束(紫色框)

    在此输入图像描述

    2023-02-07 14:37 回答
  • 您需要确保将UIImageView其设置为剪切到边界.如果没有,图像将溢出视图,并且看起来不会正确拉伸(即使实际上是这样).

    在界面构建器中,确保选中"剪辑子视图"框.

    在此输入图像描述

    如果您没有使用界面构建器,则以下代码将执行相同的操作:

    yourImageView.clipsToBounds = YES;
    

    2023-02-07 14:37 回答
  • 我的问题是ContentHuggingPriorityContentCompressionResistancePriority.

    第一个控制是保持视图"拥抱"图像(保持接近它而不是扩展)的重要性,后者控制视图对压缩的抵抗程度.

    我们使用PureLayout,因此修复它的代码是:

    [NSLayoutConstraint autoSetPriority:ALLayoutPriorityRequired forConstraints:^{
        [myImageView autoSetContentCompressionResistancePriorityForAxis:ALAxisHorizontal];
        [myImageView autoSetContentHuggingPriorityForAxis:ALAxisHorizontal];
    }];
    

    (我的问题只在横轴上)

    2016年5月15日:更新为PureLayout v3语法.如果你使用版本<= 2 UIView而不是NSLayoutConstraint.谢谢Rudolf J!

    2023-02-07 14:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有