我很容易使用自动播放将三张图片集中在一起。我将中间的一个水平居中,将所有三个设置为相同的基线,然后设置外部的相对于中间的前后空格。
但是,现在我需要添加第四张图像,因此需要居中偶数张图像。所以我再也不能使用相同的技巧了。我想避免添加更多子视图,但无法想出一种简单的方法。
任何人都可以推荐一种首选的做法,水平对中偶数个水平图像吗?
这是三个图像的样子。我想添加第四个。
感谢任何建议。
答案 0 :(得分:2)
我建议你使用堆栈视图。对于您的情况,您可以使用水平堆栈视图,并将分布设置为均匀填充。根据您的要求将约束设置为您的stackview,并将您的图像视图放在stackview中。当您想要添加新图像时,您只需拖动它,它就会相应地进行调整。
看起来像这样
如果您添加另一个,那么它将如下所示。
您可以在此处阅读有关如何使用堆栈视图的更多信息
答案 1 :(得分:2)
使用UIStackView
来完成以下工作:
let stackView = UIStackView()
stackView.distribution = .fill
stackView.alignment = .center
stackView.axis = .horizontal
stackView.spacing = 30 // or whatever you need
// now add the dots to your stackView:
stackView.addArrangedSubview(dot1)
stackView.addArrangedSubview(dot2)
stackView.addArrangedSubview(dot3)
stackView.addArrangedSubview(dot4)
// and just add and lay out the stackView, stackView itself will take care of positioning the dots
self.view.addSubview(stackView)
...