2014-12-03 4 views
4

Я хочу разместить непрозрачное содержимое поверх UIImageView. Поэтому у меня есть представление с прозрачным фоном, который содержит весь контент. И я разместил его поверх изображения. Я установил цвет фона этого представления на clearColor, но все же я не могу получить желаемый эффект.iOS 8 Прозрачный вид с непрозрачными подзонами

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

Проверить скриншот этого приложения enter image description here

Я пытаюсь добиться подобного эффекта (а полупрозрачный вид) с прошивкой 8 SDK. Однако мне нужно установить непрозрачность очень низкого значения, что делает представление почти прозрачным. Все, что я мог достигнуть, было очень мало прозрачности (что-то вроде alpha 0.9, даже я установил 0).

+0

Показать код. Как именно вы представляете «прозрачное» представление, которое вы хотите? – Fogmeister

+0

Выше скриншот из того же приложения, над которым я сейчас работаю. Я не могу получить такой же эффект в iOS 8. Код, который уже работал, больше не работает. Над прозрачным представлением снимок экрана имеет 0,6 alpha и clearColor, установленный в виде контейнера. Теперь настройка clearColor больше не работает. Он добавляет темно-серый вид с почти непрозрачной прозрачностью. – sleepwalkerfx

+0

Хорошо, но вы все равно не добавили никакого кода. – Fogmeister

ответ

3

Этого можно достичь с помощью UIVisualEffect и UIVisualEffectView, которые можно приобрести у iOS 8 on.

Это, как вы сказали, обеспечит прозрачный вид, не затрагивая подвид.

Попробуйте

UIVisualEffectView *blurredView =[[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]]; 
[blurredView addSubview:self.mySubView]; 

и вы можете добавить свои подвидов и представления изображений, а также.

+0

thnx. Но мне нужно, чтобы представление было прозрачным, не будучи размытым. Мне нужно, чтобы содержимое за видимым видом было ясно видно без заусенцев. Также необходимо поддерживать iOS 7 – sleepwalkerfx

+0

Oh! Это можно сделать, установив цвет родительского представления для очистки цвета [self.myParentView setBackgroundColor: [UIColor clearColor]]; –

+0

Теперь он не работает. Я пробовал, и он работал в iOS 6, но не сейчас. На мой взгляд, у меня есть (снизу вверх) Imageview-> uiview -> uiscrollview -> содержимое – sleepwalkerfx

1

Добавьте необходимые мнения в порядке, аналогичном приведенному ниже код ...

UIImageView* bottomImgView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
bottomImgView.image=[UIImage imageNamed:@"yourImg.png"]; 
[self.view bottomImgView]; 

UIView* topTransparentView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
topTransparentView.backgroundColor = [UIColor clearColor]; 
[bottomImgView addSubview:topTransparentView]; 

UIView* subView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)]; 
subView.backgroundColor = [UIColor blueColor]; 
[topTransparentView addSubview:subView]; 
Смежные вопросы