2016-12-01 42 views
0

其他浏览我设计一个ViewControllerImageView,3 Label-TextField组合,一个单一Label和一个Toolbar在视图的底部。所有这些视图元素都在Stack View之内。该设计是象下面这样:Design from Main storyboard的UIImageView使得不一致

ImageViewcontentMode属性设置为看点在属性检查器适合

现在,当我运行应用程序并选择不同尺寸的照片时,ImageView似乎是不一致的不同时间。像:

的青色色背景上的ImageView设置为区分ImageView和原始背景之间的差。

No problem in the view

这是正常的。但是当我选择大尺寸照片时,它似乎不一致,因为ImageView与下面的Toolbar重叠,此时Camera按钮不可点击。这里是图片:Camera button not clickable

当我选择另一张照片时,设计会变得更加糟糕。这个观点在不同的时代呈现出不同的表现。屏幕截图是:Same image but different behaviour 1Same image but different behaviour 2

现在该怎么办?我没有从代码方面完成任何这些设计,全部来自Interface Builder

任何帮助将是可观的。

我在这些选项绘制的部分属性检查器Drawing section of Attributes Inspector

这是我Stack View的属性:

+0

您必须给定您的imageview的大小和宽度,以便设置图像并使imageview Aspect填充您的问题解决方案。 –

+0

你想让你的'UIImageView'固定大小或可变吗? –

+0

@MuhammadHassan在保持图像原始高宽比的同时,图像应该放在'UIImageView'中。那需要固定大小的'UIImageView'吗? – nayem

回答

0

通过寻找很多方法,我终于能够解决这个问题。设置内容拥抱优先(不想增长)和内容压缩阻力优先(不想缩小)帮助很多。基本上我需要垂直调整元素。因此,调整每个元素的垂直优先级解决了我的问题。由于我必须保持ImageView的大小不时更改,我已将它的垂直高度拥抱压缩以低于Stack View的其他元素。其他优先级保持原样。

要查看情况,请参阅附件图像。此处使用颜色组合来区分Stack View元素Design Priorities

希望这会有所帮助。

0

首先,确保你已经在属性检查器中检查Clip To Bounds属性UIImageView

enter image description here

二,设置您的约束和/或Stack ViewDistribution财产在你所有的观点适合可用高度内的这种方式。

这里有一个例子:https://www.dropbox.com/s/5a7r0oz1v8vclgz/AspectFitImageView.zip?dl=0

+0

在我的属性检查器中没有** Clip To Bounds **。用我的“Drawing”选项编辑我的问题。 – nayem

+0

你选择了你的'UIImageView'吗?请仔细检查或分享您的Xcode版本。 –

+0

是的。我再次选中了'UIImageView'。但没有:(我的Xcode是**版本7.2(7C68)** – nayem

1

那么它似乎一切都很好。只需在工具栏中添加高度限制。问题将被修复。