Робототехніка та інтелектуальні системи
Розробка системи навігації на основі гезектури в додатках Ios
Table of Contents
Розробка системи навігації на основі Gesture в додатках iOS
Навігація на основі Gesture стала кутовим елементом сучасного дизайну додатків iOS, що дозволяє плину, інтуїтивно зрозумілі взаємодії, які відчувають себе практично фізичною. Знижуючи надійну стійкість на видимих кнопках і меню, жести безкоштовно екран нерухомості і створюють більш захоплюючий досвід користувача. Apple UIKit забезпечує надійний набір жест-визначників, але проектування ефективної системи навігації вимагає продуманого планування, розуміння інструкцій інтерфейсу людини і строгого тестування. Ця стаття досліджує, як виготовляти систему навігації жест-диску, яка є відкритою, відповідальною і доступною.
Чому навігатори на Gesture-Based
Сенсорні жести на карті природних людських рухів до цифрових дій. Сприта повернутися дзеркалами акту проштовхування фізичного об'єкта біля; щіпка для збільшення відчуває себе як розтягування або стиснення поверхні. Ця вирівнювання знижує когнітивне навантаження і робить навігацію другий характер. У додатках на основі жест-навігація може замінити традиційні навігаційні стовпчики, вкладки, а також кнопки назад, що призводять до чищення інтерфейсів, які зосереджені на змісті. Однак погано розроблені жести можуть розчарувати користувачів. Настроювання правого балансу між інноваціями і конвенцією є ключовим.
Основні геї в iOS Navigation
Рекомендації з людського інтерфейсу Apple (HIG) визначають стандартні жести, які користувачі очікують працювати послідовно через програми. Під час цих знайомих взаємодій користувачі відчувають себе вдома.
Свічка
Гопіп жест є, мабуть, найбільш універсальним для навігації. Виконуючи лівий або правий може переходити між видами (наприклад, у фотогалерея), розкривають бічну панельне меню (попередити з лівого краю в багатьох навігаційних додатках), або відхилити екран (попередити назад в UINavigationController). Напрямки: вертикальні лебеді часто використовуються для прокручування або звільнення модаль.
торкнутися
Простий кран - це фундамент вибору. У контекстах навігації, тап може глибоко переходити в ієрархію (наприклад, перехоплення рядків у таблиці) або викликати дію, як відкриття нижнього аркуша. Двох торкні є менш поширеними для навігації, але може збільшуватися в змісті.
щіпка
Штани щіпки в першу чергу використовуються для збільшування на картах, зображеннях і документах. У навігації щіпка також може бути використана для перегляду та детальних режимів (наприклад, збільшування на вигляд сітки).
Преса
Довгий прес (або сила дотику на попередніх пристроях) розкриває контекстні меню, попередні перегляди або швидше дії без навігації. Наприклад, довгопресування попереднього перегляду повідомлень може показати відповіді параметри без відкриття повної розмови.
Крайній купе
Відхилення від краю екрана (лівий край, щоб повернутися назад, правий край для peek/pop на iPad) є системним жестом, який додатки повинні поважати, якщо вони мають сильні причини, щоб перенаправити його. Уникайте конфліктів з системними жестами, щоб запобігти згубленості користувача.
Принципи проектування для геодезованої навігації
Успішна навігація жестів не тільки про прикріплення розпізнавців - потрібен цілісний дизайн-підхід.
Можливість
Gestures are невидимий. Користувачі повинні бути навчені або інтуїтивно зрозуміло зрозумілі їх. Використовуйте візуальні нотки (наприклад, тонкий стрілка, індикатор драпірування або підручник накладка на першому запуску). Консистентні візерунки - як завжди ковтають зліва, щоб повернутися назад - допоможи користувачам швидко.
Консистенція
Дотримуйтесь конвенцій платформи. Користувачі очікують право на те, що «повернути» у навігаційній стек. Якщо ви використовуєте правильний клапт для чогось іншого, забезпечать чіткий контекст. У додатку, зберігайте жестами уніформу через екрани.
Контакти
Кожен жест повинен забезпечити безпосередній, чіткий зворотний зв'язок. Візуальний зворотний зв'язок (з урахуванням UIImpactFeedbackGenerator або UINotificationFeedbackGenerator), а також аудіолікацій (при необхідності) підтвердити, що жест визнаний. Без зворотного зв'язку користувачі можуть швидко спати, створюючи розчарування досвід.
Доступність
Не всі користувачі можуть виконувати жести з прецизією. Забезпечити альтернативні методи навігації: кнопки, клавішні ярлики (на iPad з клавіатурою), VoiceOver користувальницькі дії та підтримку керування перемикачем. Забезпечити жестами не єдиний спосіб виконання критичних дій.
Уникнути конфліктів
При багаторазових жестах визнають, що вони кріпляться до того ж виду (або батьківського вигляду), можуть виникати конфлікти. Наприклад, припуск до звільнення картки може призвести до порушення клопотання прокручування всередині карти. Передбачити жести ретельно за допомогою делегаційних методів, таких як або встановити залежність жест-визначальника.
Професіонали
При використанні і його вбудованих жестів для стандартного панування; для користувацького жестами, тримати методи обробника легковагою і розглянути за допомогою для гладких анімацій.
Реалізація розпізнавальних вузлів в iOS
IOS забезпечує набір бетонних жестів, які визнають . Ось як реалізувати загальні навігаційні візерунки.
Базовий набір
Миттєвий жест визначальник, встановлюємо його ціль і дію, налаштовує властивості (режим, кількість кранів і т.д.), і прикріплюємо його до вигляду. Приклад для навігації лебідки:
let swipeBack = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipeBack))
swipeBack.direction = .right
view.addGestureRecognizer(swipeBack)
Розширена конфігурація
Для більшого гранульованого контролю використовуйте делегований протокол. Наприклад, щоб дозволити шпигустувати жест тільки тоді, коли пальцем користувача починається в лівому краю (за допомогою ковпаки для спини):
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
guard let swipe = gestureRecognizer as? UISwipeGestureRecognizer else { return false }
let location = swipe.location(in: view)
return location.x < 30
}
Синхронний густурний ручка
Коли перегляди прокрутки або перегляд колекції беруть участь, вам може знадобитися дозволити жестам працювати разом. Використовуйте , щоб повернути для сумісних жест, і для встановлення пріоритетів.
Спеціальні переходи
Для повноцінної навігації жест-драйву парні жести визнають з користувацькими переходами контролера. Наприклад, реалізують інтерактивний спливаючий перехід, який слідує пальця користувача, схожому на за замовчуванням за замовчуванням iOS задньої жест. Це передбачає використання і зв'язуючи його до пана або шпигути в делегаті контролера навігаційного контролера.
Розробка меню навігації з Gestures (Example)
Багато сучасних додатків iOS використовують меню гамбургера, яка ковзає зліва. Альтернативою жест-на основі може бути лебідка-від-заход, щоб розкрити бічну панель (як роздріб iPad). Для побудови цього:
- Прикріпіть крайовий жест визначальник до основного вигляду вмісту (з краями: .left).
- На жест почався, додайте екран меню зліва; на зміні, оновіть його x позицію пропорційно; на завершених, оберіть його повністю відкритий або закритий на основі швидкості / положення.
- Забезпечити кнопку для користувачів, які не можуть спати.
- Використовуйте для інтерактивних анімацій, щоб дозволити перерізи середньої висоти.
Цей візерунок можна розширити до нижніх листів, правої панелі або застібки.
Тестування та рефінг навігацію на розрив
Тестування зубного тесту нерозумна. Визначні знаки можуть бути несподівано на різних пристроях, з розщепленням екрана або при системних жестах (наприклад, домашній індикатор, перемикач додатків) беруть участь.
Інструменти та методи
- Xcode Debugger: Візуалізація жестових станів (можливо, почався, змінився, закінчився, скасовано, не вдалося) з використанням вигляду знеболюючий пане.
- Акцептор: Перевірити, що користувачі VoiceOver можуть отримати доступ до кожної дії.
- Випробування користувача: Переглядайте реальні користувачі, які виконують жести; замітка осаду, випадкового тригера або повторне спробування.
- Моніторинг поштових повідомлень: Перевірте частоту кадрів при жестуванні за допомогою інструментів Core анімації.
Загальні Питви
- Accidental Triggers: Спливаюче повернутися назад може бути незрівнянним, коли користувач намагається вибрати рядок. Mitigate, що вимагає мінімальної відстані або конкретного початкового краю.
- Система Gesture Conflicts: На iPhones з ідентифікатором обличчя, домашній індикатор лепе може конфліктувати з низьковими жестами. Використовуйте майно, щоб дозволити вашому жесту спочатку, але завжди забезпечити зворотний зв'язок.
- Поор Discoverability: Якщо користувачі не знають жест, вони будуть застрягти. Використовуйте на борту, стійкий натяки, або адаптивний UI, що розкриває кнопки після закінчення часу.
Доступність та інклюзивний дизайн
Навігація на основі гезектури не повинна виключити користувачів з порушеннями двигуна. Дотримуйтесь цих практик:
- Альтернативні контрольи: Кожна дія жест-тригердингу повинна бути доступна за допомогою кнопки або клавіатури ярлика. Наприклад, ковпа-до-делет може бути довгопресом, який показує кнопку Видалити.
- VoiceOver: для визначення жест-активів як іменованих дій. Наприклад, «Swipe назад» може стати користувальницькою дією в роторі.
- Reduce Motion: налаштування; замініть меню паралакса або слайд-вгору з простими переходами fade при запитуванні.
- Touch Accommodations: Будьте вмітні AssistiveTouch і Touch Accommodation, які змінюють поведінку жестів, нехай припускають точку дотику.
Висновок
Розробка системи навігації жестами в додатках iOS є потужним способом створення привабливості, сучасного інтерфейсу користувача. Розуміння основ жест-знайомців, що приносять до принципів дизайну Apple, а також передові можливості доступу, ви можете побудувати навігацію, яка відчуває природну і без зусиль. Почати з системними жестами, додати спеціальні лише тоді, коли вони дійсно покращують досвід, і завжди тестують з різноманітною базою користувачів. Коли це зроблено правильно, жест навігації зникає в фон, дозволяючи користувачам зосередитися на змісті і завданнях.
Для подальшого читання консультуємо з Apple Настанови інтерфейсу Гуману на Gestures, UIKit Gesture Recognizer документації, а також відмінна стаття «]Дизайн флейд-взаємодія]]УіКіт Gesture Recognizer документація], а також відмінна стаття «Дизайнування флейд-вклів.