Прозрачная перерисовка на UIView

Я делаю приложение для iPhone с частицами, перемещающимися в пользовательском UIView, нарисованном с помощью Core Graphics. Я хочу, чтобы мои частицы оставляли след, поэтому, когда представление перекрашивается, я хочу, чтобы он заполнил фон с альфой 0,8.

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

Короче говоря, мне нужна помощь в установке прозрачного цвета UIView на что-то прозрачное.

Спасибо


person Accatyyc    schedule 15.07.2010    source источник


Ответы (2)


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

Вместо этого вы можете использовать CGBitmapContext для рисования, который вы можете хранить столько, сколько захотите. Затем, в вашем представлении, просто нарисуйте CGBitmapContext полностью в представлении.

http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CGBitmapContext/Reference/reference.html

person Amy Worrall    schedule 04.09.2010
comment
Это решение, которое я наконец выбрал :) - person Accatyyc; 12.09.2010

Если вы хотите, чтобы ваше представление было прозрачным, проверьте свойство opaque. Если он непрозрачный - прозрачности не будет (http://developer.apple.com/iphone/library/documentation/uikit/reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/instp/UIView/opaque)

И вы также можете установить чистый цвет в качестве фона ([UIColor clearColor]).

person krzyspmac    schedule 17.07.2010
comment
Это показывает только основные виды. Проблема сохраняется, поскольку все представление все еще перерисовывается. - person Accatyyc; 22.07.2010