Вы можете просто добавить наложение UIView (в черном цвете) сверху.
(Если у вас нет пользовательских элементов управления в вашем представлении (таких как кнопки, степперы и т. Д.), Тогда это нормально. Например, у вас просто UITextView на UIView, тогда вы можете добавить черный UIViewповерх UITextView)
(вверху) черный UIView -> UITextView -> UIView
Затем можно управлять альфа-компонентом черного UIView с помощью
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSArray *touchesArray = [touches allObjects];
for(int i=0; i<[touchesArray count]; i++) {
UITouch *touch = (UITouch *)[touchesArray objectAtIndex:i];
CGPoint point = [touch locationInView:nil];
//set the relationship between point and alpha. Maybe when x increases then alpha increases. You do the math.
}
}
Кстати, установите альфа UIView черного цвета от 0,0 до 0,7 (помните, что если установить его на полное значение 1,0, экран станет полностью черным.)
Настройка альфа:
[UIView beginAnimations:nil context:NULL]; {
[UIView setAnimationDuration:duration];
[blackView setAlpha:alphaCounter];
} [UIView commitAnimations];