Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.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 将UIImageView与约束一起使用_Ios_Objective C_Uiviewcontroller_Uiimageview_Constraints - Fatal编程技术网

Ios 将UIImageView与约束一起使用

Ios 将UIImageView与约束一起使用,ios,objective-c,uiviewcontroller,uiimageview,constraints,Ios,Objective C,Uiviewcontroller,Uiimageview,Constraints,我有一个UIImageView,它在我的应用程序中保存个人资料图像。相位是“相位匹配”。但是我有一些问题 我已经将一个约束从UIImageView固定到上面较大的UIImageView,并将前导空间固定到superView 但在运行时看起来是这样的: 太大了,放错了地方 在IB中也是这样: 我应该怎样做才能在这里实现正确的行为 谢谢! Erik您的图像视图正在根据设置为显示的图像调整自身大小 这种行为在(例如)文本视图中非常有用,您希望视图增长以显示所有文本。它有时在作为静态UI一部分的图

我有一个UIImageView,它在我的应用程序中保存个人资料图像。相位是“相位匹配”。但是我有一些问题

我已经将一个约束从UIImageView固定到上面较大的UIImageView,并将前导空间固定到superView

但在运行时看起来是这样的:

太大了,放错了地方

在IB中也是这样:

我应该怎样做才能在这里实现正确的行为

谢谢!
Erik

您的图像视图正在根据设置为显示的图像调整自身大小

这种行为在(例如)文本视图中非常有用,您希望视图增长以显示所有文本。它有时在作为静态UI一部分的图像视图中不太有用

一种解决方案是向视图添加约束以保持设置的大小:从视图向右拖动,然后添加宽度约束,就像添加任何其他约束一样,然后添加垂直高度约束或纵横比约束


另一种解决方案是提供大小正确的资源,以便视图自动调整到正确的尺寸。

图像视图根据设置为显示的图像调整自身大小

这种行为在(例如)文本视图中非常有用,您希望视图增长以显示所有文本。它有时在作为静态UI一部分的图像视图中不太有用

一种解决方案是向视图添加约束以保持设置的大小:从视图向右拖动,然后添加宽度约束,就像添加任何其他约束一样,然后添加垂直高度约束或纵横比约束


另一个解决方案是提供大小正确的资产,以便视图自动调整到正确的维度。

这都是由于固有的内容大小。就像UILabel和UIButton根据其内容调整自身大小一样,UIImageView也根据其要保存的图像大小调整自身大小

内部内容大小对于标签和按钮来说非常好,但对于UIImageView来说就不太好了。因为您将要设置为UIImageView的图像实际上可以大于屏幕大小,我们不希望图像视图与图像本身一样大

因此,一个简单的解决方案是设置图像视图上的宽度和高度约束纵横比约束,以便图像视图的大小保持不变


HTH:)

这都是由于固有的内容大小。就像UILabel和UIButton根据其内容调整自身大小一样,UIImageView也根据其要保存的图像大小调整自身大小

内部内容大小对于标签和按钮来说非常好,但对于UIImageView来说就不太好了。因为您将要设置为UIImageView的图像实际上可以大于屏幕大小,我们不希望图像视图与图像本身一样大

因此,一个简单的解决方案是设置图像视图上的宽度和高度约束纵横比约束,以便图像视图的大小保持不变


HTH:)

还有一种可能是设置图像的纵横比,并且根据我们想要处理的最大值,仅对宽度/高度进行约束,即“垂直高度约束或纵横比约束”还有一种方法是为图像设置纵横比,根据我们想处理的最大值,仅对宽度/高度进行约束,这就是“垂直高度约束或纵横比约束”的理解;)-我接受了罗杰·诺兰的答案,所以我不能“接受”你的答案。但我把它投了赞成票,因为这是很好的信息;)谢谢@埃里克:完全没关系!我只是想详细解释一下,就是这样:)干杯我接受了罗杰·诺兰的答案,所以我不能“接受”你的答案。但我把它投了赞成票,因为这是很好的信息;)谢谢@埃里克:完全没关系!我只是想详细解释一下就这样:)干杯