2015-03-04 7 views
0

У меня проблема. Я пытаюсь сделать свой пользовательский UIView с изображением в самом центре. Часть за пределами этого изображения должна быть прозрачной и серой. В xib для «Вид» Я установил это: My View's settings in xibUIView цвет фона с альфой в xib

Результат - сбой. Область вне изображения просто серая, а не прозрачная. Но если добавить

-(void) viewDidLoad 
{ 
    self.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f]; 
} 

Тогда все работает, как ожидалось. Что я делал неправильно, пытаясь добиться прозрачного фона в xib?

UPDATE: Я нашел код, который делал представление представления, и внутри него был установлен альфа-набор. Поэтому я думаю, что это была проблема. Благодарю. Извините за то, что так новичок

+0

Вы уверены, что не работает? Возможно, светло-серый цвет с альфой 0.75 не имеет такой значительной части визуального эффекта. Попробуйте точно так же, как в коде: черный цвет с 0.5 alpha –

ответ

1

Проблема была в пользовательских шоу метода. Он не использовал presentViewController: анимированный: завершение: метод. Он используется альфа-animaiton от 0 до 1. Второй - при использовании стандартной presentViewController: анимированное: завершение: оптимизации метода была какао скрывается основной видом, так что нужно установить (для прошивки 8)

vc_to_present_on.modalPresentationStyle = UIModalPresentationCurrentContext; 
vc_to_be_presented.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 

И тогда все работает как ожидалось

1

При настройке альфы родительского UIView альфа-значение будет передано дочерним представлениям, предоставив одну альфу всем дочерним представлениям. Если вы установили альфа-значение UIView равным 1, вы задаете альфу вида, а не цвет.

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

5

Возможно, это то, что вы ожидали. Цвет фона можно изменить только альфа альфа. Просто установите opacity с цветом фона.

enter image description here

+0

Отлично! Это позволяет установить фон UIView с прозрачностью и без наследования прозрачности! –

Смежные вопросы