Вопрос

Интересно, как можно выделить часть представления серым цветом, аналогично тому, как UIAlertView затеняет все, кроме окна сообщения? Прямо сейчас я использую другой пользовательский вид поверх целевой области, но он выглядит не так хорошо.

Есть идеи?

Это было полезно?

Решение

Я получаю хорошие результаты, используя метод, который вы уже попробовали. возможно, возиться с альфой - хорошая идея?

mask = [[UIView alloc] initWithFrame:window.frame];
[mask setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.78]];
[self.view addSubview:mask];

Затем в вашем коде вы можете удалить его:

[mask removeFromSuperview];
or
[mask setHidden:YES];

Если вы хотите сделать его еще лучше, я полагаю, что вы можете попробовать использовать градиент, либо программно, либо в качестве изображения, и использовать его для затемнения краев экрана, чтобы содержимое, отображаемое на переднем плане, выглядело как источник света.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top