我有一个数组,计数在 1 到 3 之间变化。 我想将它们框在屏幕中间一定距离 标签的宽度也是固定的
let array = ["some1", "some2", "some3"]
func setLabel(){
var i = -1
for text in array{
i += 1
let label = UILabel()
label.fram = CGRect(x: screenWidth/2 - (CGFloat(i)*50) + 25, y: 100, width: 50 , height: 20)
label.text = text
addSubview(label)
}
}
最佳答案
您可以按照 @matt 的建议使用堆栈 View .如果你不想使用 stackview,你可以像这样通过数组计数和标签索引计算 x 位置
let array = ["some1", "some2", "some3"]
func setLabel(){
var i:CGFloat = 0
for text in array{
i += 1
let label = UILabel()
label.backgroundColor = .red
label.frame = CGRect(x: (view.bounds.width/CGFloat(array.count+1))*i-25, y: 100, width: 50 , height: 20)
label.text = text
view.addSubview(label)
}
}
关于swift - 如何使用框架在 Swift 循环中设置 x 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56386677/