我正在滚动视图中以编程方式创建文本字段 这些是间隔的并且用数字填充。我想在任何时候都可以选择更改数字。我显然可以重新运行代码更改,例如
String (i+1)
到
String (i+7)
但这只会在原始文件上创建另一个文本框。有没有办法在创建新文本框之前删除原始文本框。或者编辑原始框内的文本。我显然没有出口,因为它们是以编程方式创建的。
感谢您的时间
xcode 8.1 swift 3.0 for OSX而不是IOS
for i in 0..<18 {
let barNumberTextColor = NSColor(red: 0.2, green: 0.0, blue: 0.0, alpha: 1.0)
let barNumberTextFont = NSFont(name: "Lucida Grande Bold", size: 12.0)
barNumberTextField.font = barNumberTextFont
barNumberTextField.textColor = barNumberTextColor
barNumberTextField = NSTextField(labelWithString: String (i+1))
barNumberTextField.frame = NSMakeRect(CGFloat(i)*320,3,30,20)
if (i >= 0 && i < 16) {
self.addSubview(barNumberTextField)
}
}//eo for
答案 0 :(得分:1)
从滚动视图中删除文本字段:
self.barNumberTextField.removeFromSuperview()
更改textFieldValue:
self.barNumberTextField.stringValue = "New string"
答案 1 :(得分:1)
在循环中,您可以向TextField添加标记,如下所示:
barNumberTextField.tag = i + 1
然后,当您需要更改其内容时,您可以使用以下标记捕获TextField:
let myTextField = self.viewWithTag(x)
其中x是您需要编辑的文本字段的标记。
此时这将解决您的问题:myTextField.text = "whatever"