У меня есть NSCollectionView в NSScrollView.Представление прокрутки прокручивается горизонтально, чтобы перемещаться вдоль линии элементов.Внутри каждого элемента коллекции находится NSOutlineView с вертикальной прокруткой.
У меня есть объекты NSButton для открытия и закрытия элементов коллекции - как дополнительные представления в моей коллекции.Я настроил NSTrackingAreas на этих кнопках для поддержки эффектов наведения мыши.
Это работает правильно, пока я не прокручиваю, и в этот момент области NSTrackingArea явно остаются позади (эффекты наведения мыши возникают, когда мышь находится там, где кнопкабыл, а не там, где он есть).
Я перестраиваю свои области отслеживания в updateTrackingAreas в своем классе кнопок, и это вызывается, но не часто.
Я пытался использовать .inVisibleRect при настройкемои области отслеживания, вместо того, чтобы явно перестраивать их, но это не улучшает обновление отслеживания.
Я пытался вызвать updateTrackingAreas для NSCollectionView, когда происходит прокрутка, но он никогда не передается дочерним представлениям какЯ ожидал, что так и будет.
В качестве примечания, у меня также есть NSTextViews в элементах представления моей коллекции с подсказками, которые тоже очень хлопка.Их часто оставляют висеть.При наведении курсора на ссылки часто происходит неправильное выравнивание.
Такое ощущение, что по умолчанию updateTrackingArea чрезмерно оптимизирован и вызывается не так часто, как следовало бы.
Итак, я собираюсь приступить к созданию собственного трекера области слежения для регистрации и обновления моих представлений, когда они не обновляются по умолчанию ...
... но, возможно, кто-томожно увидеть что-то очевидное, чего мне не хватает?Спасибо.