Table of Contents

iOS Uygulamalarında Gesture tabanlı bir Navigasyon Sistemi tasarlayın

Gesture tabanlı navigasyon, modern iOS uygulamasının tasarımının temel taşı haline geldi, akıcı, sezgisel bir etkileşimler ve menülere olan sezgisel etkileşimleri azaltarak, ekranlara ve menülere olan jestler ekranını ücretsiz olarak kullanarak ve daha fazla immersive kullanıcı deneyimi yaratmaktadır. Apple's UIKit sağlam bir jest tanıma sistemi tasarlar, ancak etkili bir navigasyon sistemi tasarlar, insan arayüzü yönergelerini ve titiz bir test anlayışı gerektirir.This article how to zanaat a j-güdümlü navigasyon sistemi that is discoverable, and accessible.

Gesture-Based Navigation Maddeleri Neden

Dokunmatik jestler dijital eylemlere doğal insan hareketlerini haritalar. Geri aynalar geri dönmek için bir yığın; bir pinch, yüzeyin germe veya sıkıştırılması gibi hissedilir.Bu ayar bilişsel yükü azaltır ve navigasyona dayalı navigasyon, geleneksel navigasyon barlarını, sekme barlarını ve geri düğmeleri değiştirebilir, içeriğe odaklanan daha temiz arayüzlere yol açabilir.

iOS Navigation'da Core Gestures

Apple'ın İnsan Interface Kılavuzları (HIG) kullanıcıların uygulamalarla sürekli çalışmalarını beklediği standart jestleri tanımlar.Bu tanıdık etkileşimlerin yararlanılması kullanıcıların evde hissetmelerine yardımcı olur.

Swipe

swipe jest belki de navigasyon için en çok yönlüdür. Swiping sola veya sağ görüş arasında geçiş yapabilir (örneğin, fotoğraf galerisinde), bir sidebar menüsü ortaya çıkarır (birkaç navigasyon tabanlı uygulamadaki sol kenardan gelen bir ekrandan gelen bir ekrandan (swipe geri bir UINavigasyonel denetim konularında geri çekilmek veya işten çıkarmanız için kullanılır).

Tap Tap

Basit bir musluk seçimin temelidir. navigasyon bağlamda, bir musluk bir hiyerarşiye daha derin gidebilir (örneğin, bir masa görünümünde bir sıraya dokunur) veya alt bir sayfaya açmak gibi bir eylemi tetikleyebilir. Çift musluklar navigasyon için daha az yaygındır, ancak içerikte yakınlaşabilir.

Pinch

Pinch jestleri öncelikle haritalar, görüntüler ve belgeler üzerinde zoom yapmak için kullanılır. navigasyonda, pinch aynı zamanda genel ve ayrıntılı modlar arasında da hareket edebilir (örneğin, bir ızgara görüşüne yakın).

Uzun Basın Basın

Uzun bir basın (veya daha önceki cihazlara dokunur) bağlamsal menüler, önizlemeler veya daha hızlı eylemler atmadan. Örneğin, uzun baskılı bir mesaj önizlemesi tam konuşma açmadan cevap seçenekleri gösterebilir.

Edge Swipe

Ekran kenarından Swiping (parça geri dönmek için sol kenar, iPad'deki peek/pop için doğru kenar), uygulamanın kullanıcıların karışıklıklarını önlemek için güçlü bir neden olmadıkça saygı duymaları gereken bir sistem düzeyinde bir jestdir.

Gesture-Based Navigation için tasarım ilkeleri

Başarılı jest navigasyon sadece tanıdıkları bağlamakla ilgili değildir - bütünsel bir tasarım yaklaşımı gerektirir.

Discoverability

Gestures görünmez. Kullanıcılar öğretilmelidir veya sezgisel olarak onları anlamalıdır. Görsel ipuçları kullanın (örneğin, ince bir ok, ilk başlangıçta bir izolay veya bir öğretici). Consistent desenler - her zaman geri dönmek için terk etmek gibi - kullanıcılar çabucak öğrenir.

Yeterlik

Platform kongrelerini takip edin. Kullanıcılar bir navigasyon yığınında “geri dönme” demek için doğru bir swipe beklerler. başka bir şey için doğru bir yığın kullanıyorsanız, uygulamanız dahilinde, jest üniformayı ekranlara tutun.

Geri bildirim

Her jim derhal, açık geri bildirim sağlamalıdır. Görsel geri bildirim (araştırma ile birlikte bir görüş bildirmek), haptik geri bildirim (UIImpactFeedbackGenerator veya UINotificationFeedbackGenerator) ve ses cues (hücre uygun olduğunda) jestin tekrar tekrar tekrar tanınabileceğini onaylar.

Accessabilityability

Tüm kullanıcılar hareketlerle hareket yapamazlar. navigasyon için alternatif yöntemler sağlar: düğmeler, klavye kısayolları (körle iPad), VoiceOver custom eylemler ve kontrol desteği.Poss'in kritik eylemleri gerçekleştirmenin tek yolu değildir.

Çatışmalardan Kaçınmak

Birden fazla jest aynı görüşe eklendiğinde (veya ebeveyn görüşü), çatışmalar ortaya çıkabilir. Örneğin, kartı görevden almak için bir yığınla karttaki kaydırmaya karşı çatışma yapabilir.Öncelikle jiming jim yöntemleri kullanarak disiplin yöntemleri kullanarak hareketlerin farkına varır:0 veya jim bağımlılıkları kurmak.

Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans Performans

Gesture işlemleri sıvı olmalıdır. Ağır animasyonlar veya senkronizasyonlar, jestlerin geri dönmesi veya kekememesine neden olabilir.UseurFLT:1) ve yerleşik jestlerin standart panning için; özel jestler için, eller yöntemleri hafif tutmak ve düzgün animasyonlar için dikkate almak.

iOS'ta Gesture Tanıkları Uygulamayın

iOS, ESD 3 altında bir dizi beton jesti tanıma sağlar. İşte ortak navigasyon modellerini nasıl uygulayacağız.

Temel Kurulum

Bir jimistin kabul edilmesi, hedefini ve eylemlerini, yapılandırma özelliklerini (yön, sayıda musluk, vs.), ve bir yığın navigasyon için bir görüşe ekleyin: Örnek for a swipe navigation:

let swipeBack = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipeBack))
swipeBack.direction = .right
view.addGestureRecognizer(swipeBack)

Gelişmiş Konsülasyon

Daha fazla kaçak kontrolü için, delege protokolünü kullanın. Örneğin, bir swipe jestine sadece kullanıcının parmağının sol kenar yakınında başladığı zaman (geri için bir sürü):

func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
 guard let swipe = gestureRecognizer as? UISwipeGestureRecognizer else { return false }
 let location = swipe.location(in: view)
 return location.x < 30
}

Simultane Gesture

Koleksiyon görüş veya koleksiyon görüşleri dahil edildiğinde, jestlerin birlikte çalışmasına izin vermeniz gerekebilir. UseAHFLT:6) uyumlu jestler için geri dönmek için, ve ) öncelikler ayarlamak için.

Özel Geçişler

Tam bir j-güdümlü navigasyon için, çift jimleri özel görüş kontrol geçişleri ile tanır. Örneğin, kullanıcının parmağını takip eden interaktif bir pop geçişi uygulayın, varsayılan iOS geri jestine benzer.Bu, navigasyon kontrolörünün delegesini içerir.

Gestures ile bir Menu Navigation tasarlayın (Example)

Birçok modern iOS uygulamaları soldan gelen bir hamburger menüsü kullanır. Bir jim tabanlı alternatif bir taraf paneli ortaya çıkarmak için bir kaydırılabilir ( iPad'in bölünmüş görünümü gibi).

  1. Bir kenar pan jesti ana içeriğe ( kenarlarla: .left) tanır.
  2. Aklın başladı, solun ekranını bir menü ekleyin; değiştirildi, x pozisyonunu doğru bir şekilde güncellemek; sona erdi, hız / konsolide dayalı olarak tamamen açık veya kapalı.
  3. Kaybetemeyen kullanıcılar için bir düğme sağlayın.
  4. UseFLT:10, interaktif animasyonlar için orta ölçekli geri dönüşlere izin vermek için.

Bu model alt çarşaflara, doğru yan panellere veya kolayca sekmelere uzatılabilir.

Test ve Gesture Navigation

Thorough testi, tartışılmaz değildir. Gesture tanımacılar beklenmedik bir şekilde farklı cihazlarda, bölünmüş ekranla veya sistem jestleri (örneğin, ev göstergesi, app switcher) karışabilir.

Araçlar ve Yöntemler

  • [FONT:0]Xcode Debugger:[Dönetici:[Dönetici:0) Visualize jim (görüntü, değiştir, sona ermiş, başarısız) görüş dekondu pane kullanarak.
  • [[Katılımsızlık Müfettiş:[Dönetici: 0,4;0) Sesi Genel Bakış Kullanıcılar her eyleme erişebilir.
  • [FONT:0) Kullanıcı Testi:[Dönetici:[Dönetici:0) Gerçek kullanıcıları hareket eden gözlemler; dikkat, kazalar veya tekrarlanan girişimler.
  • [FONT:0)Performance İzleme:[Dönetici:[Dönetici: 0,4] Core Animation aletleri kullanarak jest uygulama sırasında çerçeve oranları kontrol edin.

Ortak Pitfalls

  • [FONT:0]Accidental Tetikler:[Döntilmiş:[Dönetici:0)Bir geri dönmeye kalkışmak için bir sürü yanlış yorumlanabilir.
  • [FONT=0)Sistem Gesture Çatışmaları:[Dön ID ile iPhone'larda, ev gösterge swipe alt sütunlarla çatışma yapabilir. ilk önce jestinizi izin vermek için mülk kullanın, ancak her zaman bir düşüş sağlayabilir.
  • [FONT=0)Poor Discoverability:[Dönetici:[Dönetici:0)[FONT:0)Poor Discoverability:[Dönetici:[Dönetici: · 1 ) Kullanıcılar bir jesti bilmiyorsa, sıkı sıkı sıkı sıkıya kaplayacaklar.

Accessability and Inclusive Design

Gesture tabanlı navigasyon, kullanıcıları motor bozuklukları ile dışlamamalıdır. Bu uygulamaları takip edin:

  • [FONT:0]Alternative Controls:[Dönetici: [Dönetici:0]Her hareket, bir düğme veya klavye kısayolu ile kullanılabilir olmalıdır. Örneğin, bir swipe-to-delete de bir Delete düğmesine gösteren uzun baskı olabilir.
  • [FONT:0)VoiceOver:[Dön:[Dön:[Dön: [Dön:0)|Swipe back”, rotorda özel bir eylem haline gelebilir.
  • [FONT:0)Reduce Motion:[Dönetici:[Dönetici: 9) ayarlandığında; parallax veya slayt menüsünü talep eden basit bir geçişle değiştirin.
  • [FONT:0) Ekran Konaklamaları:[Dönetici:[Dönetici:0) Yardımcı Ekran ve Dokunmatik Barajlar, jest davranışını değiştiren bir dokunuş noktası kesin.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

iOS uygulamaları için bir j- bazlı navigasyon sistemi tasarlamak, ilgi çekici, modern kullanıcı arayüzü oluşturmak için güçlü bir yoldur.Hareket tanımanın temellerini anlamak, Apple'ın tasarım prensiplerine hayran olmak ve erişilebilirliği önceliklendirmek, sistem standart jestleri hissedebilecek navigasyon inşa edebilirsiniz, sadece deneyimi geliştirmek ve her zaman farklı bir kullanıcı tabanıyla test etmek için özel olanları ekleyin.

Daha fazla okuma için Apple'ın şu anki belgelerine bakınız:0) Dünyadaki İnsan Arabuluculuk Kılavuzları) Görülebilirlik HIG) ve mükemmel bir makale |Uygulamalar).