Поведение изображения NSSegmentedControl отличается на snow leopard и lion

#macos #cocoa #user-interface #button #icons

#macos #какао #пользовательский интерфейс #кнопка #Значки

Вопрос:

Почему изображения, размещенные в NSSegmentedControls в snow leopard, отображаются в позиции, отличной от позиции Lion?

Лев: введите описание изображения здесь

Snow Leopard:введите описание изображения здесь

Это текстурированные квадратные кнопки с ТОЧНО такими же файлами png.

РЕДАКТИРОВАТЬ: мне нужно обойти это. Изображения размером 19×19 (рекомендовано HIG)

Есть идеи?

Ответ №1:

Lion внес некоторые изменения в Aqua framework и пользовательский интерфейс, и это его часть.

Комментарии:

1. Ошибка, нет никакого решения, кроме самостоятельного внедрения NSSegmentedControl.

Ответ №2:

Почему бы не создать дубликат с парой пустых пикселей в верхней части файлов изображений и выполнить проверку версии в коде?

Ответ №3:

Ответом оказалось выделение подкласса NSSegmentedCell и подключение к методу, который рисует изображения. Это довольно ручной процесс, но он делает свое дело.