创建一个循环以在uiviewcontroller上间隔2个不同的对象

下面的代码正是我在寻找问题的方法,它只是在uibtton中执行此操作。我想对2个uitextfields和2个uilabels做同样的事情。因此,将textfield转换为uilabel,将textfield转换为uilabel。我认为您只需要更改“按钮输入”即可,但是我不知道该如何更改。我希望对象之间的间隔为40,如下所示。

func setConstraints() {
var yPosition: CGFloat = 0

[undoButton,clearButton,color].forEach { button in
    NSLayoutConstraint.activate([
        button.trailingAnchor.constraint(equalTo: view.centerXAnchor,constant :25),button.topAnchor.constraint(equalTo: view.centerYAnchor,constant : yPosition),button.widthAnchor.constraint(equalToConstant: CGFloat(widthBox)),button.heightAnchor.constraint(equalToConstant: 20)
    ])
    yPosition += 40
}

}

ping00000 回答:创建一个循环以在uiviewcontroller上间隔2个不同的对象

只需将文本字段和标签按所需顺序放入数组中,然后用其替换[undoButton,clearButton,color]部分。从技术上讲,您不需要更改button in部分,因为它只是一个变量名。

[textField1,label1,textField2,label2].forEach { view in
    NSLayoutConstraint.activate([
        view.trailingAnchor.constraint(equalTo: view.centerXAnchor,constant :25),view.topAnchor.constraint(equalTo: view.centerYAnchor,constant : yPosition),view.widthAnchor.constraint(equalToConstant: CGFloat(widthBox)),view.heightAnchor.constraint(equalToConstant: 20)
    ])
    yPosition += 40
}

请注意,UIStackView可能会使您的生活更加轻松。我建议您看看如何使用它。

本文链接:https://www.f2er.com/3147886.html

大家都在问