iPhone SDK: Как нарисовать скругленный прямоугольник с полупрозрачным градиентом и тенью - PullRequest
0 голосов
/ 18 мая 2009

Я экспериментирую с рисованием на iPhone, вручную создавая части пользовательского интерфейса для моего приложения (в данном случае график). По сути, я хочу нарисовать прямоугольник с закругленными углами, падающей тенью и полупрозрачным градиентом в качестве заливки прямоугольника. Вот скриншот моего макета фотошопа: альтернативный текст http://img36.imageshack.us/img36/6097/picture1nvf.png

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

Я немного поработал над этим и прочитал полное руководство по программированию Core Animation, но никакого дальнейшего прогресса не достиг. Я чувствую, что ответ прямо у меня под носом.

Что мне не хватает?

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

1 Ответ

5 голосов
/ 18 мая 2009
  1. Заполните скругленный прямоугольник с тенью. Выполните эту заливку с непрозрачностью 100% - прозрачность вы увидите на следующем шаге.
  2. Заполните этот же прямоугольник с закругленными углами без тени, используя режим смешивания Destination Out, в точке (1,0 - желаемая непрозрачность). Например, если вы хотите 40%, сделайте розыгрыш Destination-Out на 60%. Думайте об этом как о том, что вычитаете столько из непрозрачности изображения.
...