Исходный файл
Именно на таком алгоритме работы мы и попробуем построить приложение в следующем нашем проекте.
Итак, создайте в среде Xcode новый проект с шаблоном View-based Application и выберите вариант iPhone из раскрывающегося списка Product. Присвойте новому проекту имя TapTaps. У рассматриваемого здесь приложения должно быть четыре метки, уведомляющие о том, что ему удалось обнаружить однократное, двойное, тройное и четырехкратное постукивание по экрану.
Для четырех меток нам нужны выходы, а также отдельные методы для каждого варианта постукивания по экрану, чтобы сымитировать то, что может произойти в реальном приложении. Кроме того, нам нужно ввести в данное приложение отдельный метод для стирания текстовых полей. С этой целью раскройте папку Classes, дважды щелкните на заголовочном файле TapTapsViewController .h и внесите в него изменения.
Сохраните заголовочный файл.
Откройте папку Resources. Дважды щелкните на файле TapTapsViewController .xib, чтобы отредактировать графический интерфейс пользователя. Теперь добавьте четыре объекта Label в текущее представление из библиотеки. Расставьте все четыре метки по всей ширине от одной голубой линии разметки до другой, а затем отформатируйте их по своему усмотрению. Например, можно выделить каждую метку отдельным цветом. По завершении этих правок нажмите клавишу Ctrl. и проведите соединительную линию от пиктограммы Files Owner к каждой метке в отдельности, связав каждую из них с выходами singleLabel, doubleLabel, tripleLabel и quadrupleLabel соответственно. После этого щелкните дважды на каждой метке и нажмите клавишу Delete, чтобы избавиться от первоначального текста меток.
Сохраните внесенные изменения и вернитесь в Xcode. Выберите исходный файл TapTapsViewCoritroller .m.
Мы передаем распознавателю singleTap некоторый дополнительный контекст. По существу, мы сообщаем распознавателю singleTap, что он должен инициировать свое действие только при условии, что какой-нибудь другой распознаватель (в данном случае — doubleTap) решит, что данные, введенные в настоящий момент пользователем, не относятся к тому, что он ожидает получить.
- Дата: 19-01-2015, 12:20