Я использую вид на основе NSOutlineView
, который имеет selectionHighlightStyle
, установленный в NSTableViewSelectionHighlightStyleSourceList
.Пользовательский стиль выбора для представления «Список источников» NSOutlineView
Я хочу переписать стиль выделения (фон) для определенных строк и нарисовать другой цвет/градиент.
То, что я пробовал до сих пор, это создание пользовательского NSTableRowView
и возврат его через outlineView:rowViewForItem:
. Я проверил, что мои пользовательские представления строк создаются и возвращаются делегатом представления схемы. Однако ни один из методов, которые я переписываю в пользовательском представлении строк, вызывается.
Я попытался перезаписать drawBackgroundInRect:
, drawSelectionInRect:
, drawSeparatorInRect:
и даже drawRect:
. Ни один из них не называется, никогда.
Я подозреваю, что набросок схемы выполняет какую-то обычную «магию», когда она настроена на стиль списка источников, но я ничего не нашел в документации, которая указывает, что пользовательский NSTableRowView
не будет удостоен чести все в этом случае.
Да, я использую Yosemite, и хотя я смотрел сессию WWDC, на которую вы ссылаетесь, я, кажется, пропустил «Размер материала и рисунок нельзя настроить». Похоже, мне не повезло, если я хочу обоим, используйте стиль списка источников и настройте чертеж выделения для нескольких строк. – lemonmojo
Вы пытаетесь удалить синюю подсветку? Если это так, вам может быть интересно: http://stackoverflow.com/questions/26596621/how-to-get-the-source-lists-selection-highlight-to-use-the-dark-vibrancy-appeara/ 26990727 # 26990727 – Oskar
Это определенно полезно, и я только что реализовал это в другой части моего приложения. Удивительное открытие!Тем не менее, в этом конкретном случае я бы хотел перезаписать синий цвет по умолчанию, чтобы быть совершенно другим цветом/градиентом. – lemonmojo