Создание пользовательских кнопок для Interface Builder - PullRequest
5 голосов
/ 23 февраля 2011

Эй, ребята, кто-нибудь знает, как создавать пользовательские кнопки для Interface Builder?Например, вместо обычной круглой кнопки Rect, я хочу иметь пользовательскую кнопку 3D и некоторый фон случайного изображения для этой кнопки, как кто-нибудь может сказать мне, как это сделать, спасибо

Ответы [ 3 ]

2 голосов
/ 23 февраля 2011

Вам нужно будет либо найти сторонний класс (в идеале с плагином Interface Builder, чтобы вы могли видеть его вживую в файле IB), либо подкласс UIButton или NSButton / NSButtonCell для Mac и предоставить своего собственного трехмерного радужного единорога поведение при рисовании. :-)

Интерфейсный конструктор может показывать только те классы, о которых он знает - вы не можете добавить поведение / изменить существующее поведение чертежа, потому что это неправильный инструмент для работы. Вам нужно будет найти кого-то другого или создать свой собственный подкласс в коде , а затем сообщить IB об этом.

Обновление на основе комментария ОП

Вы можете использовать -setImage:forState: для предоставления собственного изображения для заданных состояний.

1 голос
/ 23 февраля 2011

Сделать это в Интерфейсном Разработчике чрезвычайно сложно (написание плагина Интерфейсного Разработчика - нетривиальная задача). Однако вы можете создать подкласс UIControl (который является просто UIView) и определить свой собственный чертеж в подклассе.

Затем, в Интерфейсном Разработчике, измените класс объекта, который вы переклассифицировали, на ваш новый класс, и все должно работать правильно.

Соответствующее чтение:

0 голосов
/ 07 декабря 2011

Вероятно, проще всего использовать изображение в качестве фона для кнопки.Например, вы можете использовать этот инструмент для простой генерации кнопок с градиентами: http://itunes.apple.com/us/app/uibutton-builder/id408204223?mt=8

Если вы хотите что-то более модное, возможно, пришло время запустить Photoshop; -)

...