我正在尝试为pickerView中的每个组件创建一个带有固定标签的pickerView。 我在StackOverflow中找到了这段代码。
var labelTexts = [“Months”,“Weeks”,“Days”,“Hours”,“Minutes”]
let labelWidth = itemPicker.frame.width / CGFloat(itemPicker.numberOfComponents)
for index in 0..<labelTexts.count {
let label = UILabel(frame: CGRect(x: itemPicker.frame.origin.x + labelWidth * CGFloat(index), y: 0, width: labelWidth, height: 20))
label.text = labelTexts[index]
label.textAlignment = .center
itemPicker.addSubview(label)
}
它正在工作但是一旦我改变了pickerView的宽度(起初它和superview一样宽),标签就开始改变它们的位置。我希望每个组件上方的每个标签都完全匹配。
我该如何解决?
编辑:我发现了这个问题。
而不是做那个CGRect(x:itemPicker.frame.origin.x + labelWidth * CGFloat(index),....))
我试过CGRect(x :( itemPicker.frame.origin.x + labelWidth)* CGFloat(index),...)) 请注意parantheses,它的工作原理..