UIView должен быть прозрачным, но показывает только белый - PullRequest
2 голосов
/ 29 ноября 2010

У меня есть UIViewController, который содержит ярлык и кнопку. Я хотел бы, чтобы фон вида был прозрачным, поэтому я установил его на clearColor и opaque = NO.

Однако вид всегда отображает белый фон. Как я могу это исправить?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

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

Вместо этого вам нужно использовать UIView. Обычно я делаю UIView на подкласс и настраиваю его так, как я хочу, а затем создаю его экземпляр и добавляю как подпредставление всякий раз, когда вам нужно его использовать:

-(id)initWithFrame:(CGRect)frame
{    
    if (self = [super initWithFrame:CGRectZero])
    {
       // Add your label and button here...
    }
    return self;
}
0 голосов
/ 30 ноября 2010

Извините, мне не хватает представителя, чтобы комментировать ответ Рога, поэтому я опубликую «Другой ответ».

Попробуйте этот код и посмотрите, хорошо ли он для вас:

UIVIew *view = [[UIView alloc] init];
view.alpha = 0; // alpha 1.0 is opaque, alpha 0.5 is translucent and 0 is clear

Честно говоря, я не пробовал этого раньше, поскольку я не требую этого.Но когда я перетаскиваю новый UIView из библиотеки, опция alpha находится в свойствах.

Надеюсь, это поможет.

...