Sheep Abduction - хотели как лучше, а получилось… Touch Hockey FS5 - Шайбу!!!
Май 14

Приветствую в четвертой, заключительной части урока, где мы освоим панорамирование — перемещение изображения влево–вправо. Здесь мы частично будем работать с подготовленным в предыдущих материалах кодом.
Наша задача — сделать так, чтобы изображение сдвигалось влево или вправо, когда пользователь, нажав на него, перемещает по экрану палец. Для этого воспользуемся методом touchesMoved, исходный код для которого будет выглядеть так:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

if([timer isValid])
[timer invalidate];

NSSet *allTouches = [event allTouches];

switch ([allTouches count])
{
case 1: {
//Изображение панорамируется (смещается влево/вправо)
UITouch *touch = [[allTouches allObjects] objectAtIndex:0];
CGPoint centerPoint = [touch locationInView:[self view]];

[imgView setCenter:centerPoint];

} break;
case 2: {
//Изображение увеличивается или уменьшается.

UITouch *touch1 = [[allTouches allObjects] objectAtIndex:0];
UITouch *touch2 = [[allTouches allObjects] objectAtIndex:1];

//Рассчитывается расстояние между двумя пальцами.
CGFloat finalDistance = [self distanceBetweenTwoPoints:[touch1 locationInView:[self view]]
toPoint:[touch2 locationInView:[self view]]];

//Проверка на увелечение/уменьшение.
if(initialDistance > finalDistance) {
NSLog(@"Zoom Out");
}
else {
NSLog(@"Zoom In");
}

} break;
}

}

Поскольку для смещения изображения влево–вправо достаточно одного касания, данный код выполняется в случае, если общее число касаний равно одному. Сначала получаем первое касание, потом — его положение. Перемещаем изображение, делая точку касания центром UIImageView.

Надеюсь, теперь вы больше знаете об использовании Multi Touch в приложениях для iPhone. По тому же базовому принципу можно работать с любым приложением. Комментируем, делимся опытом :).

Исходный код скачать можно [здесь]

Текст оригинальной статьи на английском языке [здесь]

Уважаемые читатели, данный материал был переведен и подготовлен к публикации проектом LookApp.ru, при публикации на другом сайте ссылка на LookApp.ru обязательна.

1 звезда2 звезд3 звезд4 звезд5 звезд (2 голосов, средний: 4.00 из 5)
Загрузка ... Загрузка ...


Оставьте комментарий