在编程文本字段中更改文本

时间:2017-04-14 07:17:32

标签: swift macos textfield

我正在滚动视图中以编程方式创建文本字段 这些是间隔的并且用数字填充。我想在任何时候都可以选择更改数字。我显然可以重新运行代码更改,例如

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

2 个答案:

答案 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"