我正在尝试构建一个通过填充NSView列出信息的应用程序。

现在,我已经创建了一个包含所有信息的数组Infos
然后,我使用“ for语句”为每个信息扩展mainView并创建一个标签,该标签的字符串值等于:Infos[i]。这样,它可以正确显示每个信息。

这是我的代码:

    for i in 0 ..< Infos.count {

        expandTheMainView()


        var infoLabel: NSTextField!
        deviceBatteryPercentageView = NSTextField(frame: CGRect(x: 250, y: 40+CGFloat(newHeight)-CGFloat(height), width: 37, height: 17))
        infoLabel.stringValue = "\(Infos[i])%"
        infoLabel.editable = false
        infoLabel.bordered = false
        infoLabel.backgroundColor = NSColor(white: 0, alpha: 0)
        mainView.addSubview(infoLabel)

    }


但是,由于它们位于“ for语句”中,因此我无法对其进行编辑,是否可以通过编程方式编辑创建的信息来“填充”我的视图?

非常感谢。

最佳答案

例如,将标签分配给重复循环中的每个文本字段

infoLabel.tag = i + 100


那么您可以使用

let thirdTextField = mainView.viewWithTag(102) as! NSTextField


并更改值。

关于xcode - 填充和编辑NSView内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36519287/

10-10 20:46