我已经有这个问题了一段时间了,由于某些原因我似乎无法找到答案。如果我想制作一个包含10个UIlabels的应用程序(使用编程),我宁愿创建一个函数,所以我可以说:createLabel(size: , position: , textColor: , text: )
我的麻烦是,我不知道如何创建一个不同的名称这些中的每一个,如果我想更改每个文本,我可以单独引用它们。下面是我想要在函数内部的所有参数。另外,我如何创建一个可以更改多个标签文本的函数,例如changeText(label1: , label2: , text: )
谢谢!
var output = UILabel()
output = UILabel(frame: CGRect(x: 0, y: 0, width: screenSize.width, height: 100))
output.center = CGPoint(x: screenSize.width/2, y: self.size.height * 0.08)
output.textAlignment = .right
output.textColor = UIColor.white
output.font = UIFont(name: "Helvetica-Light", size: 15.0)
output.numberOfLines = 0;
output.text = "12345"
output.font = output.font.withSize(80)
self.view?.addSubview(output)
答案 0 :(得分:0)
至于我,最简单的方法是使用标签,这样你就可以为每个标签设置一个标签(如1001,1002,1003 ......),并在子视图中搜索后找到确切的标签。标记:
if let view = self.view?.viewWithTag(put the tag here) as? UILabel {
//set any parameters here
}
也许有更好的方法,不确定
答案 1 :(得分:0)
我如何为每一个创建一个不同的名称,所以稍后如果我想更改每个文本,我可以单独引用它们
要实现这一点,您可以将它们保存在字典中。
// Create data structure for labels
var labels = [String: UILabel]()
// Add label with unique name
labels["uniqueName"] = createLabel(size: , position: , textColor: , text: )
// Access label with uniqueName
let label = labels["uniqueName"]
如何创建一个可以更改多个标签文本的函数,例如changeText(label1:,label2:,text :)
你可以像这样编写你的函数
func changeText(text: String, labels: UILabel...) {
for label in labels {
label.text = text
}
}
请在此处查看有关可变参数的部分:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html以了解有关此内容的更多信息。