NSTableCellView с NSGridView

Я пытаюсь использовать NSGridView для компоновки NSTableCellView следующим образом

class GridItemCV: NSTableCellView
{ var grid :  NSGridView? = nil

  let empty = NSGridCell.emptyContentView

  var tf = NSTextField()

  override init(frame frameRect: NSRect)
  { super .init(frame: frameRect)
    setup()
  }

  required init?(coder decoder: NSCoder)
  { super .init(coder: decoder)
    setup()
  }

  func setup()
  { self.translatesAutoresizingMaskIntoConstraints = false
    tf.translatesAutoresizingMaskIntoConstraints = false

    grid = NSGridView( views: [
      [empty, empty],
      [empty, tf]
    ])
    grid?.translatesAutoresizingMaskIntoConstraints = false

    self.addSubview(grid!)

    grid?.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true
    grid?.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true
    grid?.topAnchor.constraint(equalTo: self.topAnchor).isActive = true
    grid?.bottomAnchor.constraint(equalTo: self.bottomAnchor).isActive = true
  }

Моя проблема.

Свойство textField, которое должно быть связано с помощью Interfacebuilder, еще не создано в конструкторе. В какое время я могу получить доступ к этому объекту?


person mica    schedule 28.01.2018    source источник


Ответы (1)


Я нашел решение.

Создание NSGridView в

awakeFromNib() 

Я мог получить доступ к свойству textField, подключенному из Interfacebuilder

person mica    schedule 29.01.2018