Я строю планировщик, в котором пользователи делают заметки.NSOutlineView находится в NSScrollView, который является полной высотой окна.Я хотел бы иметь простой фон за NSOutlineView, который точно отслеживает некоторое поле под нижней строкой в контуре.
scrollView обладает эластичностью в конце своей прокрутки.NSOutlineView анимирует, когда в расширяется / сворачивается.Пользователи могут добавлять новые строки, и ввод строки может увеличить высоту строки.Это дает много вариантов движения рядам.
На данный момент я могу уловить некоторые изменения в позиции последнего ряда.Я переопределяю и ловлю layout () в NSOutlineView и ловлю boundsChangedNotifications в scrollView contentView.
Проблема заключается в том, что layout () вызывается только в outlineView в начале и в конце последовательности анимации.Если я анимирую изменения в фоновом режиме, он почти отслеживает то же движение, но анимация нарушает отслеживание любого движения прокрутки.
Мне действительно нужно отслеживать обновления каждого кадра (как при рендеринге) и устанавливать высоту фона.Как я могу это сделать?Есть ли куда более простой способ, которого мне не хватает?
Я не хочу добавлять к этому фальшивые строки в виде структуры, так как это сделает другие функции, такие как перетаскивание, очень сложными.
Я не использую Interface Builder.