UIBarButtonItem клон - PullRequest
       11

UIBarButtonItem клон

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

У меня есть подкласс UIButton, и мне нужен его внешний вид быть идентичным UIBarButtonItem при размещении на классическая синяя тонированная панель навигации.

UIBarButtonItem

Элемент UIBarButtonItem имеет границу со своего рода градиентом, темнее наверху и сине-снизу, что Я подозреваю, что это сделано с некоторым альфа-трюком. Дно выглядит утопленным тоже.

Также есть оверлей, который делает кнопку немного темнее и даже больше, когда в выбранном состоянии.

Может кто-нибудь помочь?

Ответы [ 3 ]

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

Короткий ответ: вам придется потратить некоторое время на изучение рисования градиентов и теней в Core Graphics.

Соответствующая документация называется "Руководство по программированию в Quartz 2D".1004 * После того, как вы научитесь рисовать тени и градиенты, вам придется потратить довольно много времени на увеличение масштаба при сравнении того, что вы рисуете, с тем, как выглядит кнопка.

Вы не спрашивали, но вот что я бы сделал:

Подкласс UIBarButtonItem и добавьте туда свою пользовательскую функциональность.Позвольте UIBarButtonItem нарисовать себя.

0 голосов
/ 04 ноября 2011

Вы можете использовать библиотеку Three20,
специально взгляните на пример приложения TTCatalog.

Посмотрите на исходный файл "StyleTestController.m"

https://github.com/facebook/three20/blob/master/samples/TTCatalog/Classes/StyleTestController.m

Я уверен, что вы найдете здесь ответ.

Приветствия

0 голосов
/ 26 февраля 2011

Возможно, вам будет проще использовать фотоснимок. Используйте изображение для вашей кнопки. Таким образом, вам не нужно беспокоиться о собственном коде для рисования.

...