Имитация выбранного эффекта панели вкладок - PullRequest
0 голосов
/ 29 октября 2010

Частично как упражнение по программированию, а отчасти из-за того, что нам, возможно, понадобится включить такие изображения в приложение, я пытался выяснить, как нарисовать изображение, подобное выбранной вкладке в UITabBar.

Основная операция достаточно проста в концепции: альфа-иконка используется в качестве маски для рисования изображения синего градиента на вкладке.(Хотя я не могу понять, как на самом деле использовать альфа-изображение в качестве маски в Core Graphics. Сначала я нарисовал градиент, а затем использовал слой прозрачности с kCGBlendModeDestinationInчтобы нарисовать иконку.)

example of selected tab image

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

1 Ответ

2 голосов
/ 21 января 2011

Я написал некоторый код для «серого фильтра» и «синего фильтра», применяемого UITabBarItem в качестве ответа на другой вопрос здесь . По сути, я сделал то же самое, что и вы, а затем применил осветление краев с помощью ручной петли через пиксели. Веселись!

...