2009-05-03 4 views
3

Я хотел бы создать пользовательский флажок, который работает как обычный флажок, но выглядит по-другому, на данный момент я использую нормальный флажок, есть ли способ сделать это.Как изменить внешний вид флажка?

P.S Это какао, о котором я говорю.

ответ

6

Вам необходимо переопределить NSButtonCell. Вы будете использовать drawInteriorWithFrame:inView: или аналогичный метод, чтобы сделать свой собственный рисунок. Если вы никогда не использовали пользовательские ячейки, прежде чем это может быть немного учебным опытом, но есть много хороших советов, например this page.

Вы также можете взглянуть на структуру с открытым исходным кодом, например, BGHUDAppKit.

+0

Как вы реализуете BGHUDAppKit? – Joshua

+0

Это стандартная структура, вы можете найти инструкции в вики: http://code.google.com/p/bghudappkit/wiki/UsingFramework –

+0

Как вы загружаете BGHUDAppKit? – Joshua

4

В качестве побочного элемента, если вам нужно только изменить изображение «проверить» по умолчанию, предоставленное Apple, затем перейти к свойствам NSButton в XCode/Interface Builder и выбрать изображение и Альтернативное изображение. То же самое касается переключателей.

+0

Есть две версии «альтернативного изображения»: белый галочка на синем фоне (когда в окне есть фокус - с учетом настроек системы «синий», а не «графита»), а черный тик на белом фоне (когда окно не имеет фокуса). Запрос свойства «alternateImage» и запись мага в файл дает «активную версию». Как настроить пользовательский образ так, чтобы он вел себя так? (черный контур против синей заливки) –

+0

Кроме того, поскольку Yosemite по крайней мере - галочка кажется анимированной в положение (путем увеличения с нулевого размера) при установке флажка. Не похоже, что есть простой способ поменять галочку по умолчанию для моего пользовательского изображения и получить все те же эффекты «бесплатно» ... –