Уведомление о новой строке группы NSTableView
Я пытаюсь изменить внешний вид моего представления строки, когда оно становится строкой группы, или, возможно, более конкретно, когда оно становится строкой группы, которая застревает в верхней части NSTableview.
Я задавался вопросом, было ли уведомление или некоторая собственность, которая могла быть проверена. В идеале я хотел бы сделать какую-то анимацию, поскольку она попадает в зону действия вершины от одного вида к другому.
Я думаю о том, чтобы отслеживать координаты представлений строк по отношению к представлению клипа / представлению прокрутки... Это был бы подход, который вы бы выбрали?
Какие-либо предложения?
2 ответа
когда это становится групповой строкой
Ожидаете ли вы, что строка изменится, будет ли это строка группы с течением времени?
Я пытаюсь изменить внешний вид моего представления строки […], когда оно становится строкой группы, которая застревает в верхней части NSTableview.
Иметь вид строки -drawRect:
метод проконсультироваться самостоятельно floating
Свойство и рисуют по-разному в зависимости от его стоимости. Возможно, вам придется переопределить -setFloating:
сеттер, чтобы пометить ваш вид строки как нуждающийся в отображении тоже.
Предложение Кена Томаса было именно тем предложением, которое мне было нужно. Я хочу напрямую изменить NSTableCellView, поэтому я вызвал следующий метод оттуда, но вы также можете вызвать его напрямую из пользовательского NSTableRowView.
Из пользовательского NSTableCellView:
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
if let rowView = self.superview as? NSTableRowView, rowView.isFloating == true {
Swift.print("Row is Floating")
}
}
Из пользовательского NSTableRowView:
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
if self.isFloating == true {
Swift.print("Row is Floating")
}
}
Позвольте мне изменить вид по желанию. Спасибо, Кен