3D Touch: nedir, Force Touch ve Haptic Touch teknolojileri

Yazar: IT Sectr Yayınlanma: 2026-02-28 Okuma süresi: 10 dk

3D Touch, iPhone ekranına uygulanan basınç kuvvetini tanıyan bir Apple donanım teknolojisidir ve yazılımsal alternatifi Haptic Touch, dokunma süresi boyunca çalışır. 3D Touch, ekran matrisinin altına yerleştirilmiş kalibre edilmiş basınç sensörlerini (Force Touch) kullanır ve hafif basınç (peek) ile derin basınç (pop) arasında ayrım yapmanızı sağlar. iOS 13'ten itibaren Apple, 3D Touch'ı Haptic Touch ile değiştirdi — dokunsal geri bildirimle Uzun Basma yoluyla kuvvetli basıncı simüle eden bir teknoloji UIContextMenuInteraction.

Önemli Noktalar

  • Basınç kuvveti — 3D Touch basıncı gram cinsinden ölçer; Haptic Touch tutma süresini kullanır
  • Peek and Pop — orijinal 3D Touch UX deseni: önizleme için hafif basınç (peek), açmak için derin basınç (pop)
  • UIContextMenuInteraction — Haptic Touch ile çalışan bağlam menüleri için modern iOS API'si
  • Force Touch — ekrandaki kapasitif sensörler aracılığıyla basıncı ölçen Apple teknolojisi
  • UIForceTouchCapability — cihazda 3D Touch kullanılabilirliğini kontrol etmek için iOS yöntemi

3D Touch ve Haptic Touch Nedir?

3D Touch, iPhone 6S'te (2015) tanıtılan bir donanım giriş teknolojisidir. Ekran yüzeyinin altında, kapasitif sensörler cam ile arka aydınlatma arasındaki mesafeyi ölçer. Parmağınızla bastığınızda, cam mikroskobik olarak bükülür, sensörler deformasyon miktarını algılar ve bunu bir kuvvet değerine (gram) dönüştürür. iOS üç seviyeyi ayırt eder: hafif dokunma (touch), orta basınç (peek, ~200 g) ve derin basınç (pop, ~400 g).

Haptic Touch, iOS 13'te (2019) tanıtılan 3D Touch'ın yazılımsal bir alternatifidir. Basıncı ölçmek yerine, Haptic Touch aynı eylemleri etkinleştirmek için Uzun Basma (parmağı ~500 ms tutma) kullanır. Dokunsal geri bildirim, fiziksel bir basınç olmamasına rağmen bir "tıklama" hissini simüle eder. Apple, özellikle Face ID ile OLED panellere geçişte, 3D Touch ekranlarının üretim karmaşıklığı ve yüksek maliyeti nedeniyle Haptic Touch'a geçti.

Tarihsel arka plan: 3D Touch, iPhone 6S'te ortaya çıktı ve iPhone XS'e (2018) kadar devam etti. iPhone XR (2018), 3D Touch yerine Haptic Touch'a sahip ilk cihaz oldu. iPhone 11 (2019) ve iOS 13'ten itibaren, tüm yeni iPhone'lar Haptic Touch kullanır. iPad hiçbir zaman 3D Touch almadı — yalnızca iPadOS 13 ile Haptic Touch aldı. Apple Watch, ekranda Force Touch teknolojisini kullanır (iPhone 3D Touch'tan farklıdır) ve watchOS 7 ve Series 6'dan itibaren kaldırılmıştır.

Force Touch Teknolojisi: Basınç Nasıl Ölçülür

Force Touch, Apple tarafından iPhone 6S–XS (3D Touch), MacBook izleme dörtgenleri (2015+) ve Apple Watch'ta (Series 1–5) kullanılan bir kuvvet ölçüm teknolojisidir. Ekranın çevresine yerleştirilmiş kapasitif sensörlere dayanır. Basıldığında, cam mikronlarca deforme olur, sensörler mesafe değişikliğini kaydeder ve bir kalibrasyon eğrisi kullanarak kuvveti hesaplar. Sistem, ortam sıcaklığını (her 24 saatte bir kalibrasyon) ve parmak konumunu (ekranın merkezi daha hassastır) dikkate alır.

Kalibrasyon, 3D Touch'ın kritik bir yönüdür. Her iPhone fabrikada ayrı ayrı kalibre edilir. iOS ayrıca dinamik kalibrasyon gerçekleştirir: önyüklemeden sonraki ilk basınçta sistem, kullanıcının maksimum kuvvetini sorar ve hassasiyeti ayarlar. Sensörlerin doğruluğu ±10 gram, aralığı 0 ila 500+ gramdır. Geliştirici, UITouch.force (0.0'dan maksimuma normalleştirilmiş) veya UITouch.maximumPossibleForce aracılığıyla kuvvet değerini alabilir.

swift
// 3D Touch kullanılabilirliğini kontrol etme ve basınç kuvvetini okuma
class ForceTouchViewController: UIViewController {

    override func touchesMoved(_ touches: Set<UITouch>,
                                with event: UIEvent?) {
        guard let touch = touches.first else { return }

        // Cihazda Force Touch desteğini kontrol etme
        guard self.traitCollection.forceTouchCapability
                == UIForceTouchCapability.available else {
            // Cihaz 3D Touch'ı desteklemiyor
            return
        }

        // Basınç kuvvetini okuma (0.0 — maks)
        let force = touch.force      // 0.0 ... maximumPossibleForce
        let maxForce = touch.maximumPossibleForce

        // Görselleştirme için 0.0–1.0 aralığına normalleştirme
        let normalizedForce = force / maxForce

        // Basınç kuvvetine görsel tepki (öğe ölçeği)
        forceView.transform = CGAffineTransform(scaleX: 1.0 + normalizedForce * 0.3,
                                                y: 1.0 + normalizedForce * 0.3)
    }
}

Sınırlamalar: 3D Touch yalnızca aktif dokunma ile çalışır (UITouch.phase == .began veya .moved). Bıraktıktan sonra kuvvet değeri sıfırlanır. Maksimum kuvvet değeri cihazlar arasında değişir: iPhone 6S — 6.6666, iPhone 7/X — 20.0'a kadar (farklı kalibrasyon nedeniyle). Kritik eylemler için kuvvet kullanmayın — kullanıcı ne kadar sert basması gerektiğini bilmeyebilir. Her zaman Haptic Touch (Uzun Basma) aracılığıyla bir alternatif sağlayın.

Peek and Pop: Kuvvetli Basıncın UX Deseni

Peek and Pop, iPhone 6S'te 3D Touch ile tanıtılan orijinal Apple UX desenidir. Peek, bir önizleme kartında içeriğin (e-posta, bağlantı, fotoğraf) önizlemesini gösteren hafif bir basınçtır (kuvvet ~0.5–1.0). Pop, içeriği tam ekranda açan daha derin bir basınçtır (kuvvet ~2.0+). Peek, önizleme kartında yukarı kaydırarak erişilebilen alt kısımda eylemleri (paylaş, kopyala, yanıtla) destekliyordu.

UIKit'te Peek and Pop uygulaması üç bileşen içeriyordu: UIViewControllerPreviewingDelegate (previewingContext(_:viewControllerForLocation:) ve previewingContext(_:commit:) yöntemlerine sahip bir protokol), UIPreviewAction (alt kısımdaki eylemler) ve registerForPreviewing(with:sourceView:) aracılığıyla kayıt. Geliştirici, Peek'te hangi ViewController'ın gösterileceğini ve Pop'ta nasıl açılacağını belirtti. Sistem otomatik olarak paralaks animasyonu ve arka plan bulanıklığı ekledi.

HareketKuvvet (norm.)EylemGörsel Efekt
Dokunma (Touch)0.0–0.3Normal etkileşimÖğe vurgulama
Hafif basınç (Peek)0.5–1.0İçerik önizlemesiArka plan bulanık kart
Derin basınç (Pop)2.0+Tam ekran açmaKart genişletme animasyonu
Yukarı kaydırmaEylemler (paylaş, kopyala)UIPreviewAction Grubu

UIContextMenuInteraction'a Geçiş (iOS 13): Apple, Peek and Pop'ı UIContextMenuInteraction aracılığıyla bağlam menüleriyle değiştirdi. Yeni API daha basittir: UIViewControllerPreviewingDelegate gerektirmez, hiyerarşik menüleri (alt menüler), SF Symbols simgelerini destekler ve hem 3D Touch hem de Haptic Touch ile aynı şekilde çalışır. Geçiş: registerForPreviewing iOS 13'ten itibaren kullanımdan kaldırılmıştır. Cihazın yeteneklerine otomatik olarak uyum sağlayan UIContextMenuConfiguration ile değiştirin.

Bağlam Menüleri: UIContextMenuInteraction

UIContextMenuInteraction, iOS 13'ten beri kullanılabilen, bağlam menüleri için modern bir iOS API'sidir. addInteraction(_:) aracılığıyla herhangi bir UIView'e eklenir. UIContextMenuInteractionDelegate, menü yapılandırmasını sağlar: bir tanımlayıcıya sahip UIContextMenuConfiguration, previewProvider (isteğe bağlı, önizleme için) ve actionProvider (UIAction veya UIMenu dizisi). Bağlam menüsü, 3D Touch (varsa) veya Haptic Touch (diğer cihazlarda Uzun Basma) tarafından etkinleştirilir.

swift
// Hiyerarşik menü ile UIContextMenuInteraction
class ContextMenuViewController: UIViewController,
                                   UIContextMenuInteractionDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        let interaction = UIContextMenuInteraction(delegate: self)
        contextMenuView.addInteraction(interaction)
    }

    func contextMenuInteraction(_ interaction: UIContextMenuInteraction,
        configurationForMenuAtLocation location: CGPoint) -> UIContextMenuConfiguration? {

        return UIContextMenuConfiguration(identifier: nil,
            previewProvider: { PreviewViewController() }) { _ in

            let share = UIAction(title: "Paylaş",
                              image: UIImage(systemName: "square.and.arrow.up"),
                              handler: { _ in self.shareContent() })

            let edit = UIAction(title: "Düzenle",
                            image: UIImage(systemName: "pencil"),
                            handler: { _ in self.editContent() })

            let delete = UIAction(title: "Sil",
                            image: UIImage(systemName: "trash"),
                            attributes: .destructive,
                            handler: { _ in self.deleteContent() })

            return UIMenu(title: "Eylemler", children: [share, edit, delete])
        }
    }
}

UIContextMenuConfiguration, previewProvider'ı destekler — önizleme olarak görüntülenen bir denetleyici. previewProvider nil ise, bağlam menüsü önizleme olmadan gösterilir. Önizlemenin boyutunu ve görünümünü özelleştirmek için UIContextMenuContentPreviewProvider kullanılır. Bağlam menüleri otomatik olarak dokunsal geri bildirim (Haptic Touch Engine) ve görünme animasyonu (ölçek + solma) alır.

Haptic Touch vs 3D Touch: Karşılaştırma

Haptic Touch ve 3D Touch, aynı sonuca giden farklı teknolojilerdir. 3D Touch donanımdır (ekranda basınç sensörleri), Haptic Touch yazılımdır (dokunsal simülasyon için Uzun Basma + Taptic Engine). 3D Touch, üretim maliyetleri (ek sensör katmanı) gerektirir, ekran kalınlığını ve onarım karmaşıklığını artırır. Haptic Touch daha ucuzdur, üretimi daha basittir ve tüm modern cihazlarda (iPhone SE 2020, iPhone 11–16, iPad, iPod touch) kullanılabilir.

Parametre3D TouchHaptic Touch
İlkeBasınç ölçümü (gram)Süre ölçümü (milisaniye)
KullanılabilirlikiPhone 6S–XS (sınırlı)iPhone XR+, iPad, iPod touch
HızAnlık (~100 ms)Gecikmeli (~500 ms)
Basınç seviyeleri2 (peek + pop)1 (bağlam menüsü)
Dokunsal geri bildirimTaptic Engine (tıklama simülasyonu)Taptic Engine (tıklama simülasyonu)
App StoreSimgede Hızlı EylemlerSimgede Hızlı Eylemler
KalibrasyonKullanıcı kuvvetine göre otomatik kalibrasyonGerekmez
OnarılabilirlikKarmaşık (ekranda sensörler)Standart

UX Üzerindeki Etkisi: 3D Touch'ın hızı daha yüksektir — kullanıcı sert bastığında bağlam menüsünü hemen alır. Haptic Touch, 500 ms'lik bir duraklama gerektirir, bu da daha yavaş hissettirir. Ancak Apple, bunu dokunsal geri bildirim ve görsel animasyonla telafi eder. 3D Touch'tan Haptic Touch'a geçen kullanıcılar genellikle hız farkını fark eder. Geliştiriciler için geçiş saydamdır: UIContextMenuInteraction her iki teknolojide de aynı şekilde çalışır.

Kuvvetli Basınç Nerede Kullanılır

Hızlı Eylemler (Quick Actions) — ana ekrandaki uygulama simgesinde bir bağlam menüsü. Simgeye sert basmak (3D Touch) veya uzun basmak (Haptic Touch) en fazla 4 hızlı eylem gösterir: "Yeni mesaj" (Messages), "Fotoğraf çek" (Camera), "Ara" (Safari). Info.plist anahtarı UIApplicationShortcutItems veya UIApplicationShortcutItem temsilcisi aracılığıyla uygulanır. Hızlı Eylemler, iOS 13+ (Haptic Touch) veya 3D Touch'a sahip tüm cihazlarda kullanılabilir.

Klavye izleme dörtgeni — iOS klavyesine sert basmak, onu izleme dörtgeni moduna geçirir: tuşlar etkisiz hale gelir ve parmak hareketi imleci hareket ettirir. 3D Touch, klavyenin herhangi bir yerine sert basarak izleme dörtgenini etkinleştiriyordu. Haptic Touch, boşluk çubuğuna uzun basarak izleme dörtgenini etkinleştirir. İzleme dörtgeni modu, 3D Touch'ın en popüler kullanımlarından biri haline geldi — kullanıcılar metin düzenlerken hassas imleç konumlandırmayı takdir eder.

Bağlantı ve fotoğraf önizlemesi — Safari'de bir bağlantıya sert basmak, gezinti yapmadan sayfa önizlemesini (peek) gösterir. Benzer şekilde: Messages'da bir fotoğrafa basmak büyütülmüş bir sürüm açar. Peek modunda yukarı kaydırmak eylemleri gösterir: "Aç", "Okuma Listesine Ekle", "Kopyala". Tüm bu senaryolar, iOS'un modern sürümlerinde UIContextMenuInteraction aracılığıyla çalışır.

Çizim ve yaratıcı uygulamalar — Procreate, Photoshop ve diğer çizim uygulamalarında, 3D Touch'ın basınç kuvveti fırça kalınlığını, opaklığı veya renk doygunluğunu kontrol eder. Uygulamalar UITouch.force'u (0.0–1.0) okur ve bunu araç parametrelerine dönüştürür. Ancak, çizim için iPad'deki Apple Pencil daha hassas basınç kontrolü sağlar (eğim ve azimut desteği ile), bu nedenle iPhone'daki yaratıcı uygulamalarda 3D Touch daha az talep görmektedir.

Sıkça Sorulan Sorular

3D Touch ve Haptic Touch arasındaki fark nedir?

3D Touch, ekrandaki kapasitif sensörler aracılığıyla basınç kuvvetini ölçen bir donanım teknolojisidir (iPhone 6S–XS). Haptic Touch, Uzun Basma ve Taptic Engine'den dokunsal geri bildirim kullanan bir yazılım simülasyonudur. 3D Touch daha hızlıdır (100 ms'ye karşı 500 ms) ve iki kuvvet seviyesini (peek + pop) destekler. Haptic Touch, iPhone XR, tüm iPhone 11–16 modelleri, iPad ve iPod touch dahil olmak üzere iOS 13+ olan tüm cihazlarda kullanılabilir.

Cihazın 3D Touch'ı destekleyip desteklemediğini nasıl kontrol ederim?

Kodda, traitCollection.forceTouchCapability kullanın. .available değeri 3D Touch'ın desteklendiği, .unavailable desteklenmediği, .unknown ise henüz belirlenmediği anlamına gelir (traitCollectionDidChange'i bekleyin). Haptic Touch'lı cihazlarda, forceTouchCapability .unavailable döndürür, çünkü Haptic Touch donanım kuvvet sensörlerini kullanmaz. Kullanıcılar için: Ayarlar → Erişilebilirlik → Dokunma → 3D Touch (yalnızca eski iPhone'larda) altında kontrol edin.

Apple neden 3D Touch'ı terk etti?

Apple, 3D Touch'ı Haptic Touch ile değiştirdi birkaç nedenden dolayı: basınç sensörlü ekranların yüksek üretim maliyeti, onarım karmaşıklığı (ekrana entegre sensörler), sınırlı kullanıcı farkındalığı (birçok kişi özelliği bilmiyordu) ve 3D Touch için kalibre edilmesi daha zor olan Face ID'li OLED ekranlara geçiş. Haptic Touch daha ucuz, daha basit ve daha fazla sayıda cihazda kullanılabilir.

Hangi iPhone'lar 3D Touch'ı destekler?

3D Touch şunlar tarafından desteklenir: iPhone 6S, 6S Plus, 7, 7 Plus, 8, 8 Plus, X, XS, XS Max. iPhone XR'da 3D Touch yoktur (Haptic Touch'lı ilk). Tüm iPhone 11, 12, 13, 14, 15, 16 ve SE (2. ve 3. nesil) modelleri Haptic Touch kullanır. iPad'de hiçbir zaman 3D Touch olmadı. 3D Touch'lı cihazlarda hassasiyet ayarları da mevcuttur (Ayarlar → Erişilebilirlik → Dokunma → 3D Touch).

3D Touch, olmayan cihazlarda öykünebilir mi?

Evet, iOS otomatik olarak 3D Touch'ı öykünür donanım desteği olmayan cihazlarda Haptic Touch aracılığıyla. UIContextMenuInteraction API'si tüm cihazlarda aynı şekilde çalışır — sistem tetikleyiciyi (3D Touch veya Uzun Basma) kendisi seçer. Bu, kodunuz için saydamdır: bağlam menüsü iOS 13+ olan tüm cihazlarda görünür. 3D Touch ve Haptic Touch için ayrı mantık yazmanız gerekmez — UIContextMenuConfiguration kullanın.

Özet

  • 3D Touch — ekrandaki sensörler aracılığıyla basınç kuvvetini ölçen donanım teknolojisi (iPhone 6S–XS)
  • Haptic Touch — dokunsal geri bildirimle Uzun Basma kullanan yazılım alternatifi (iOS 13+)
  • Force Touch — ~10 g doğrulukla basıncı ölçen kapasitif sensör teknolojisi
  • Peek and Pop — iki basınç seviyeli orijinal UX deseni (önizleme ve açma)
  • UIContextMenuInteraction — her iki teknoloji için birleştirilmiş, bağlam menüleri için modern iOS API'si
  • Quick Actions — hızlı eylemler için uygulama simgesinde bağlam menüsü
  • UIForceTouchCapability — traitCollection aracılığıyla 3D Touch kullanılabilirliğini kontrol etme

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun