Книга: iOS. Приемы программирования
Решение
Решение
Воспользуйтесь классом UIPanGestureRecognizer:
— (void)viewDidLoad {
[super viewDidLoad];
/* Сначала создаем метку. */
CGRect labelFrame = CGRectMake(0.0f, /* X */
0.0f, /* Y */
150.0f, /* Ширина */
100.0f); /* Высота */
self.helloWorldLabel = [[UILabel alloc] initWithFrame: labelFrame];
self.helloWorldLabel.text = @"Hello World";
self.helloWorldLabel.backgroundColor = [UIColor blackColor];
self.helloWorldLabel.textColor = [UIColor whiteColor];
self.helloWorldLabel.textAlignment = UITextAlignmentCenter;
/* Убеждаемся, что мы активизировали пользовательские взаимодействия;
в противном случае эта метка не будет фиксировать события нажатия. */
self.helloWorldLabel.userInteractionEnabled = YES;
/* А теперь убеждаемся, что метка отображается в виде. */
[self.view addSubview: self.helloWorldLabel];
/* Создаем распознаватель жестов панорамирования. */
self.panGestureRecognizer = [[UIPanGestureRecognizer alloc]
initWithTarget: self
action:@selector(handlePanGestures:)];
/* Для активизации распознавателя жестов панорамирования требуется
один палец. */
self.panGestureRecognizer.minimumNumberOfTouches = 1;
self.panGestureRecognizer.maximumNumberOfTouches = 1;
/* Добавляем распознаватель к виду. */
[self.helloWorldLabel addGestureRecognizer: self.panGestureRecognizer];
}
Распознаватель жестов панорамирования будет вызывать метод handlePanGestures: в качестве целевого. Этот метод описан в подразделе «Решение» данного раздела.
- 4.14. Запрет и разрешение хостов
- Решение проблем при работе в Почте Windows
- Решение проблем при работе Проигрывателя Windows Media
- Общее решение
- Разрешение трассировки с помощью ‹trace›
- Более приемлемое решение
- Разрешение конфликтов имен
- Запрещение и разрешение прерываний
- Правила творческой лени
- Основные параметры ЭЛТ-мониторов
- Выстройте структуру
- См. также