如何在 xib 文件中使用子视图和超级视图之间的纵横比?
Posted
技术标签:
【中文标题】如何在 xib 文件中使用子视图和超级视图之间的纵横比?【英文标题】:how to use aspect ratio between subview and super view in xib files? 【发布时间】:2015-01-30 05:41:04 【问题描述】:我在 xib 文件中使用自动布局,而不是使用 Storyboard
。
我在 self.view 上添加了一个UIImageView
。我正在尝试在UIImageView
宽度和超级视图高度上设置纵横比。但是当我将控件从UIImageView
(子视图)拖动到self.view(超级视图)以启用纵横比选项时,我很惊讶纵横比选项没有出现。
只有四个选项来了
-
到容器的尾随空间。
到容器的顶部空间。
在容器中水平居中。
在容器中垂直居中。
如何设置subview和superview的纵横比。
提前致谢。
【问题讨论】:
两个视图之间的纵横比并没有那么大的意义。你确定你说的不是比例宽度或高度吗? 是的,我的意思是一样的,我可以在故事板中做同样的事情。但是没有故事板就无法做到。 即使在 xib 中,pin 选项也有纵横比设置。要设置纵横比,请选择两个视图元素,然后设置纵横比。 我也做了同样的事情,但它不起作用。 【参考方案1】:Emulating aspect-fit behaviour using AutoLayout constraints in Xcode 6
出色而简单的解释(带有图像!)可能会帮助您解决问题。希望这会有所帮助...
【讨论】:
【参考方案2】:我不确定为什么 XIB 不允许您在顶层设置纵横比约束。这是一个解决方法:
-
向顶层视图添加视图。
将其顶部、左侧、右侧和底部固定到顶层视图的顶部、左侧、右侧和底部。使所有偏移量为 0。
现在您可以将您的 imageView 添加到此视图中,并按照您的预期使用 Aspect Ratio 约束。
【讨论】:
以上是关于如何在 xib 文件中使用子视图和超级视图之间的纵横比?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用来自 xib 文件的任何子视图(在 xib 中创建)的多个副本