Получаю хорошие результаты, используя метод, который вы уже пробовали. возможно, возиться с альфой - хорошая идея?
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];
Если вы хотите, чтобы сделать его еще лучше, я полагаю, вы могли бы попробовать использовать градиент, либо программно, либо в качестве изображения, и используя это, чтобы затемнить края экрана таким образом, чтобы содержимое, которое вы показываете на переднем крае, кажется источником света.
Это как раз то, что я сделал, с альфой –
Ваш ответ хорош, но в этом случае все остальные подзаголовки больше не будут интерактивными. –