第一个问题:
我的UILabel
包含UIImage
(动态文字)+ UIView
。我希望它们在blockSmallz.x = startPosition.x;
blockSmallz.y = startPosition.y;
内居中。就像这些图片一样:
答案here已过时,现在我们有了堆栈视图,也许它可以让任务变得更容易。
第二个问题:
我有三个UIView彼此相邻,每个都有UIImageView + UILabel,它们应该在它们的容器中居中(问题1)。在具有小宽度屏幕的iPhone 4s中,文本会破坏布局,如下图所示:
我使用Xcode 7.0 |目标iOS8及以上版本|斯威夫特2
答案 0 :(得分:2)
在没有代码的纯Autolayout / IB中,这实际上非常容易。它最终看起来像这样:
这是带有视图的故事板文件,因此您可以轻松查看约束。它使用相同的子视图包装技术,但是根据需要使标签缩小/剪切的技巧是在包装器视图的两侧添加> = 0约束,使其不会扩展到父视图的边界之外,反过来使标签不再增长。
https://www.dropbox.com/s/ml67zdjwugf8jco/SO_Solution-20151013.storyboard?dl=0
答案 1 :(得分:0)
清洁包含并再次添加。我在Xcode 7.0中遇到了这个问题,但它在Xcode 7.0.1中显然得到了解决。
答案 2 :(得分:0)
- 使用按钮(而不是使用ImageView& Label)并设置适当的图像&标题。
- 设置图片&标题插图
- 添加到查看和指定领先空间& superview约束的底部空间到第一个按钮
- 指定尾随空格&超视图约束的底部空间到第三个按钮
- 指定左侧水平空间(带第一个按钮)&右侧水平空间(带第三个按钮)到第二个按钮。
- 添加相等宽度&使用所有三个按钮修复高度约束。
醇>另外,您可以添加宽度约束并使其具有动态宽度。
在排序中,您可以使用按钮完成它。