Вы создали подкласс NSTextField, который имеет в качестве свойства отдельный и прямой экземпляр NSTextField. Это не имеет никакого смысла. То, что вы намеревались сделать, было это:
class menuitemtest1: NSTextField {
override func viewDidChangeBackingProperties() {
self.frame = CGRect(x: 220, y: 8, width: 103, height: 17)
self.stringValue = "Maximum Lenght"
self.isEditable = false
self.textColor = .gray
self.isSelectable = false
self.drawsBackground = false
}
}
Что касается того, почему оно «не отображается» - текстовое поле, которое вы добавили в качестве представления пункта меню, имеет рамку нулевого размера (по умолчанию), поэтому она просто невидима.
Кроме того, viewDidChangeBackingProperties
не является правильным местом для настройки основных свойств поля. В таком подклассе вы должны использовать инициализатор , init(frame:...
или init(coder: ...