2013-08-07 3 views
0

У меня есть очень простой контроллер представления, что делает это в своем INIT:UIView с прозрачным фоном мерцает на презентации

self.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.65]; 

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

Любые мысли о том, как исправить мерцание?

+0

В каком методе вы пишете вышеуказанный код? –

+0

Это в init. Я сказал, что в вопросе. – InkGolem

ответ

0

Вместо изменения backgroundColor в вашем представлении контроллера контроллера, я бы поместил эту строку кода в ваш метод контроллера viewDidLoad: вашего вида. Это может исправить «мерцание».

+0

Нет. Я мог видеть, как это исправить, если оно было в viewDidAppear, но init и viewDidLoad должны произойти до того, как произойдет рендеринг. – InkGolem

+0

Итак, вы инициализируете свой ViewController в nib/раскадровке и переопределяете метод 'init'? Или вы инициализируете свой ViewController и представляете все это в коде? – hgwhittle

+0

Нет. Это старый контроллер просмотра, выполненный полностью программно, что я пытаюсь восстановить. – InkGolem

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