Здесь я создаю подкласс NSView
и добавлю его в NSViewController
.Как добавить NSLayoutConstraint в подпрограмму программно созданного подкласса NSView?
class DialogView: NSView {
var value: Int = 0
let textLabel: NSTextField
required init?(coder: NSCoder) {
fatalError("NSCoding not supported")
}
init(position: CGPoint, width: CGFloat, height: CGFloat value: Int) {
textLabel = NSTextField.init(frame: NSRect(x: width/5.0, y: height/5.0, width: width/1.5, height: height/5.0))
textLabel.alignment = NSTextAlignment.center
super.init(frame: NSRect(x: position.x, y: position.y, width: width, height: height))
addSubview(textLabel)
self.value = value
textLabel.stringValue = "\(value)"
textLabel.textColor = NSColor.lightGray
}
}
Как и выше подкласса, то ограничение для NSTextField
создается постоянным при инициализации. Вместо добавления фрейма при инициализации я хотел бы добавить NSLayoutConstraint
.
В каком методе следует добавить NSLayoutConstraint
для NSTextField
- DialogView
.