Изменение непрозрачности UIView с помощью пальца - PullRequest
0 голосов
/ 29 ноября 2010

Я видел некоторые другие приложения, которые могут изменять яркость экрана iPhone.Я думаю, что они просто помещают UIView и устанавливают его backgroundColor в черный цвет, тогда всякий раз, когда пользователь проводит пальцем по экрану, непрозрачность изменяется в зависимости от движения пальца.

Может кто-нибудь помочь мне, как я могу подражать этомуфункциональность.

1 Ответ

2 голосов
/ 10 июля 2012

Вы можете просто добавить наложение 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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...