3D Touch: ano ito, mga teknolohiyang Force Touch at Haptic Touch

May-akda: IT Sectr Nai-publish: 2026-02-28 Oras ng pagbabasa: 10 min

3D Touch — teknolohiyang hardware ng Apple na kumikilala sa lakas ng presyon sa display ng iPhone, at ang software na kapalit nito na Haptic Touch, na gumagana batay sa tagal ng pagpindot. Gumagamit ang 3D Touch ng mga naka-calibrate na pressure sensor na naka-install sa ilalim ng matrix ng screen (Force Touch) at pinapayagan nitong makilala ang magaan na presyon (peek) mula sa malalim (pop). Simula iOS 13, pinalitan ng Apple ang 3D Touch ng Haptic Touch — teknolohiyang ginagaya ang malakas na presyon sa pamamagitan ng Long Press na may tactile feedback UIContextMenuInteraction.

Mga Pangunahing Punto

  • Lakas ng presyon — sinusukat ng 3D Touch ang presyon sa gramo; ang Haptic Touch ay gumagamit ng oras ng paghawak
  • Peek and Pop — orihinal na UX pattern ng 3D Touch: magaan na presyon (peek) para sa preview, malalim (pop) para sa pagbukas
  • UIContextMenuInteraction — modernong iOS API para sa context menu na gumagana sa Haptic Touch
  • Force Touch — teknolohiya ng Apple na sumusukat ng presyon sa pamamagitan ng capacitive sensor sa display
  • UIForceTouchCapability — paraan ng iOS para suriin ang pagkakaroon ng 3D Touch sa device

Ano ang 3D Touch at Haptic Touch?

3D Touch — teknolohiyang hardware input na nag-debut sa iPhone 6S (2015). Sa ilalim ng ibabaw ng display ay matatagpuan ang mga capacitive sensor na sumusukat sa distansya sa pagitan ng salamin at backlight. Kapag pinindot ng daliri, ang salamin ay lumilihis ng micron, nirerekord ng mga sensor ang laki ng deformation at ginagawa itong halaga ng puwersa (gramo). Tinutukoy ng iOS ang tatlong antas: magaan na pagpindot (touch), katamtamang presyon (peek, ~200 g) at malalim na presyon (pop, ~400 g).

Haptic Touch — software na kapalit ng 3D Touch, ipinakilala sa iOS 13 (2019). Sa halip na sukatin ang presyon, gumagamit ang Haptic Touch ng Long Press (paghawak ng daliri ~500 ms) para i-activate ang parehong mga aksyon. Ginagaya ng tactile feedback (haptic feedback) ang pakiramdam ng "click", kahit na walang pisikal na pagpindot na nagaganap. Lumipat ang Apple sa Haptic Touch dahil sa pagiging kumplikado at mataas na gastos sa produksyon ng mga 3D Touch display, lalo na sa paglipat sa mga OLED panel na may Face ID.

Makasaysayang background: Lumitaw ang 3D Touch sa iPhone 6S at nanatili hanggang iPhone XS (2018). Ang iPhone XR (2018) ang naging unang device na may Haptic Touch sa halip na 3D Touch. Simula iPhone 11 (2019) at iOS 13, lahat ng bagong iPhone ay gumagamit ng Haptic Touch. Hindi kailanman nakatanggap ang iPad ng 3D Touch — Haptic Touch lamang mula iPadOS 13. Gumagamit ang Apple Watch ng teknolohiyang Force Touch sa display (naiiba sa iPhone 3D Touch), na tinanggal simula watchOS 7 at Series 6.

Teknolohiya ng Force Touch: paano sinusukat ang presyon

Force Touch — teknolohiya sa pagsukat ng lakas ng presyon na ginagamit ng Apple sa iPhone 6S–XS (3D Touch), MacBook trackpad (2015+) at Apple Watch (Series 1–5). Sa base nito ay ang mga capacitive sensor na nakalagay sa paligid ng display. Kapag pinindot, ang salamin ay nagde-deform ng micron, nirerekord ng mga sensor ang pagbabago sa distansya at kinakalkula ang puwersa ayon sa calibration curve. Isinasaalang-alang ng system ang temperatura ng kapaligiran (calibration bawat 24 na oras) at posisyon ng daliri (ang gitna ng screen ay mas sensitibo).

Calibration — kritikal na aspeto ng 3D Touch. Ang bawat iPhone ay naka-calibrate nang indibidwal sa pabrika. Nagsasagawa rin ang iOS ng dynamic na calibration: sa unang pagpindot pagkatapos ng boot, hinihiling ng system ang maximum na lakas ng user at inaayos ang sensitivity. Ang mga sensor ay may katumpakan na ±10 gramo, range — mula 0 hanggang 500+ gramo. Maaaring makuha ng developer ang halaga ng force sa pamamagitan ng UITouch.force (na-normalize mula 0.0 hanggang maximum) o UITouch.maximumPossibleForce.

swift
// Pagsusuri ng pagkakaroon ng 3D Touch at pagbabasa ng lakas ng presyon
class ForceTouchViewController: UIViewController {

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

        // Pagsusuri ng suporta sa Force Touch sa device
        guard self.traitCollection.forceTouchCapability
                == UIForceTouchCapability.available else {
            // Hindi sinusuportahan ng device ang 3D Touch
            return
        }

        // Pagbabasa ng lakas ng presyon (0.0 — max)
        let force = touch.force      // 0.0 ... maximumPossibleForce
        let maxForce = touch.maximumPossibleForce

        // Normalisasyon sa range na 0.0–1.0 para sa visualization
        let normalizedForce = force / maxForce

        // Visual na reaksyon sa lakas ng presyon (scale ng elemento)
        forceView.transform = CGAffineTransform(scaleX: 1.0 + normalizedForce * 0.3,
                                                y: 1.0 + normalizedForce * 0.3)
    }
}

Mga limitasyon: Gumagana lamang ang 3D Touch sa aktibong pagpindot (UITouch.phase == .began o .moved). Pagkatapos bitawan, nire-reset ang halaga ng force. Ang maximum na halaga ng force ay nag-iiba sa pagitan ng mga device: iPhone 6S — 6.6666, iPhone 7/X — hanggang 20.0 (dahil sa ibang calibration). Huwag gamitin ang force para sa mga kritikal na aksyon — maaaring hindi alam ng user kung gaano kalakas ang pagpindot. Palaging magbigay ng alternatibo sa pamamagitan ng Haptic Touch (Long Press).

Peek and Pop: UX pattern ng malakas na presyon

Peek and Pop — orihinal na UX pattern ng Apple, ipinakilala kasama ng 3D Touch sa iPhone 6S. Peek — magaan na presyon (force ~0.5–1.0) na nagpapakita ng preview ng nilalaman (email, link, larawan) sa anyo ng isang preview card. Pop — mas malalim na presyon (force ~2.0+) na nagbubukas ng nilalaman sa buong screen. Sinusuportahan ng Peek ang mga aksyon sa ibaba (share, copy, reply), na maa-access sa pamamagitan ng pag-swipe pataas sa preview card.

Implementasyon ng Peek and Pop sa UIKit ay may kasamang tatlong component: UIViewControllerPreviewingDelegate (protocol na may mga method na previewingContext(_:viewControllerForLocation:) at previewingContext(_:commit:)), UIPreviewAction (mga aksyon sa ibaba) at pagpaparehistro sa pamamagitan ng registerForPreviewing(with:sourceView:). Tinukoy ng developer kung aling ViewController ang ipapakita sa Peek at kung paano ito buksan sa Pop. Awtomatikong nagdagdag ang system ng parallax animation at pag-blur ng background.

GestureLakas (norm.)AksyonVisual effect
Pagpindot (Touch)0.0–0.3Karaniwang interaksyonPag-highlight ng elemento
Magaan na presyon (Peek)0.5–1.0Preview ng nilalamanCard na may blur ng background
Malalim na presyon (Pop)2.0+Bukas sa buong screenAnimation ng pagbukas ng card
Pag-swipe pataasMga aksyon (share, copy)Grupong UIPreviewAction

Transisyon sa UIContextMenuInteraction (iOS 13): Pinalitan ng Apple ang Peek and Pop ng context menu sa pamamagitan ng UIContextMenuInteraction. Mas simple ang bagong API: hindi nangangailangan ng UIViewControllerPreviewingDelegate, sumusuporta sa hierarchical menu (submenus), mga icon ng SF Symbols, at gumagana nang pareho sa 3D Touch at Haptic Touch. Migrasyon: hindi na ginagamit ang registerForPreviewing mula iOS 13. Palitan ito ng UIContextMenuConfiguration, na awtomatikong umaangkop sa mga kakayahan ng device.

Context menu: UIContextMenuInteraction

UIContextMenuInteraction — modernong iOS API para sa context menu, available mula iOS 13. Idinaragdag sa anumang UIView sa pamamagitan ng addInteraction(_:). Ang delegate na UIContextMenuInteractionDelegate ay nagbibigay ng configuration ng menu: UIContextMenuConfiguration na may identifier, previewProvider (opsyonal, para sa preview) at actionProvider (array ng UIAction o UIMenu). Ang context menu ay na-activate sa pamamagitan ng 3D Touch (kung available) o Haptic Touch (Long Press sa iba pang device).

swift
// UIContextMenuInteraction na may hierarchical menu
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: "Ibahagi",
                              image: UIImage(systemName: "square.and.arrow.up"),
                              handler: { _ in self.shareContent() })

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

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

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

UIContextMenuConfiguration ay sumusuporta sa previewProvider — controller na ipinapakita bilang preview. Kung ang previewProvider ay nil, ang context menu ay ipinapakita nang walang preview. Para sa pagsasaayos ng laki at hitsura ng preview, ginagamit ang UIContextMenuContentPreviewProvider. Awtomatikong nakakatanggap ang context menu ng tactile feedback (Haptic Touch Engine) at animation ng paglitaw (scale + fade).

Haptic Touch vs 3D Touch: paghahambing

Haptic Touch at 3D Touch — magkaibang teknolohiya na humahantong sa parehong resulta. Ang 3D Touch ay hardware (pressure sensor sa display), ang Haptic Touch ay software (Long Press + Taptic Engine para sa tactile simulation). Ang 3D Touch ay nangangailangan ng mga gastos sa produksyon (karagdagang layer ng sensor), nagpapataas ng kapal ng screen at pagiging kumplikado ng pag-aayos. Ang Haptic Touch ay mas mura, mas simple sa produksyon at available sa lahat ng modernong device (iPhone SE 2020, iPhone 11–16, iPad, iPod touch).

Parameter3D TouchHaptic Touch
PrinsipyoPagsukat ng presyon (gramo)Pagsukat ng oras (millisecond)
PagkakarooniPhone 6S–XS (limitado)iPhone XR+, iPad, iPod touch
BilisAgad (~100 ms)May pagkaantala (~500 ms)
Antas ng presyon2 (peek + pop)1 (context menu)
Tactile feedbackTaptic Engine (simulasyon ng click)Taptic Engine (simulasyon ng click)
App StoreQuick Actions sa iconQuick Actions sa icon
CalibrationAuto-calibration sa lakas ng userHindi kinakailangan
PagkukumpuniKomplikado (sensor sa display)Karaniwan

Epekto sa UX: mas mataas ang bilis ng 3D Touch — agad na nakakatanggap ang user ng context menu kapag malakas ang pagpindot. Ang Haptic Touch ay nangangailangan ng 500 ms na pause, na mas mabagal ang pakiramdam. Gayunpaman, kinokompensahan ito ng Apple ng tactile feedback at visual animation. Ang mga user na lumilipat mula 3D Touch patungong Haptic Touch ay madalas napapansin ang pagkakaiba sa bilis. Para sa mga developer, transparent ang migrasyon: gumagana nang pareho ang UIContextMenuInteraction sa parehong teknolohiya.

Saan inilalapat ang malakas na presyon

Quick Actions — context menu sa icon ng app sa home screen. Ang malakas na presyon (3D Touch) o Long Press (Haptic Touch) sa icon ay nagpapakita ng hanggang 4 na mabilis na aksyon: "Bagong Mensahe" (Messages), "Kumuha ng Larawan" (Camera), "Maghanap" (Safari). Ipinapatupad sa pamamagitan ng Info.plist key na UIApplicationShortcutItems o sa pamamagitan ng delegate na UIApplicationShortcutItem. Ang Quick Actions ay available sa lahat ng device na may iOS 13+ (Haptic Touch) o 3D Touch.

Keyboard-trackpad — ang malakas na presyon sa iOS keyboard ay nagpapalipat nito sa trackpad mode: nagiging inactive ang mga key at ang paggalaw ng daliri ay gumagalaw sa cursor. Ang 3D Touch ay nag-activate ng trackpad sa pamamagitan ng malakas na presyon sa kahit saang bahagi ng keyboard. Ang Haptic Touch ay nag-a-activate ng trackpad sa pamamagitan ng mahabang pagpindot sa spacebar. Ang trackpad mode ay naging isa sa mga pinakasikat na application ng 3D Touch — pinahahalagahan ng mga user ang tumpak na pagpoposisyon ng cursor sa pag-edit ng teksto.

Preview ng mga link at larawan — ang malakas na presyon sa isang link sa Safari ay nagpapakita ng preview ng pahina (peek) nang hindi nag-na-navigate. Katulad: ang presyon sa isang larawan sa Messages ay nagbubukas ng pinalaking bersyon. Ang pag-swipe pataas sa peek mode ay nagpapakita ng mga aksyon: "Buksan", "Idagdag sa listahan ng pagbabasa", "Kopyahin". Ang lahat ng sitwasyong ito ay gumagana sa pamamagitan ng UIContextMenuInteraction sa mga modernong bersyon ng iOS.

Pagguhit at mga creative app — sa Procreate, Photoshop at iba pang drawing app, ang lakas ng presyon ng 3D Touch ay kumokontrol sa kapal ng brush, opacity o saturation ng kulay. Binabasa ng mga app ang UITouch.force (0.0–1.0) at ginagawang parameter ng tool. Gayunpaman, para sa pagguhit, ang Apple Pencil sa iPad ay nagbibigay ng mas tumpak na kontrol sa presyon (na may suporta sa pagtagilid at azimuth), kaya ang 3D Touch sa mga creative app sa iPhone ay hindi gaanong hinihiling.

Mga Madalas Itanong

Ano ang pagkakaiba ng 3D Touch at Haptic Touch?

3D Touch — teknolohiyang hardware na sumusukat sa lakas ng presyon sa pamamagitan ng capacitive sensor sa display (iPhone 6S–XS). Haptic Touch — imitasyong software na gumagamit ng Long Press (paghawak) at tactile feedback ng Taptic Engine. Mas mabilis ang 3D Touch (100 ms vs 500 ms) at sumusuporta sa dalawang antas ng lakas (peek + pop). Ang Haptic Touch ay available sa lahat ng device na may iOS 13+, kasama ang iPhone XR, lahat ng modelong iPhone 11–16, iPad at iPod touch.

Paano suriin kung sinusuportahan ng device ang 3D Touch?

Sa code gamitin ang traitCollection.forceTouchCapability. Ang halagang .available — sinusuportahan ang 3D Touch, .unavailable — hindi, .unknown — hindi pa natutukoy (maghintay para sa traitCollectionDidChange). Sa mga device na may Haptic Touch, ang forceTouchCapability ay nagbabalik ng .unavailable, dahil hindi gumagamit ang Haptic Touch ng hardware force sensor. Para sa mga user pagsusuri: Settings → General → Accessibility → 3D Touch (sa mga lumang iPhone lamang).

Bakit tinalikuran ng Apple ang 3D Touch?

Pinalitan ng Apple ang 3D Touch ng Haptic Touch dahil sa ilang kadahilanan: mataas na gastos sa produksyon ng mga display na may pressure sensor, pagiging komplikado ng pag-aayos (integrated ang mga sensor sa display), limitadong kamalayan ng user (marami ang hindi alam ang feature) at ang paglipat sa mga OLED display na may Face ID na mas mahirap i-calibrate para sa 3D Touch. Ang Haptic Touch ay mas mura, mas simple at available sa mas maraming device.

Aling iPhone ang sumusuporta sa 3D Touch?

3D Touch ay sinusuportahan ng: iPhone 6S, 6S Plus, 7, 7 Plus, 8, 8 Plus, X, XS, XS Max. Walang 3D Touch ang iPhone XR (una na may Haptic Touch). Lahat ng modelong iPhone 11, 12, 13, 14, 15, 16 at SE (ika-2 at ika-3 henerasyon) ay gumagamit ng Haptic Touch. Hindi kailanman nagkaroon ng 3D Touch ang iPad. Sa mga device na may 3D Touch, available din ang mga setting ng sensitivity (Settings → General → Accessibility → 3D Touch).

Maaari bang i-emulate ang 3D Touch sa mga device na wala nito?

Oo, awtomatikong ine-emulate ng iOS ang 3D Touch sa pamamagitan ng Haptic Touch sa mga device na walang hardware support. Ang UIContextMenuInteraction API ay gumagana nang pareho sa lahat ng device — ang system mismo ang pumipili ng trigger (3D Touch o Long Press). Para sa iyong code ito ay transparent: lumilitaw ang context menu sa lahat ng device na may iOS 13+. Hindi mo kailangang magsulat ng hiwalay na logic para sa 3D Touch at Haptic Touch — gamitin ang UIContextMenuConfiguration.

Buod

  • 3D Touch — teknolohiyang hardware ng pagsukat ng lakas ng presyon sa pamamagitan ng sensor sa display (iPhone 6S–XS)
  • Haptic Touch — kapalit na software na gumagamit ng Long Press na may tactile feedback (iOS 13+)
  • Force Touch — teknolohiyang capacitive sensor para sa pagsukat ng presyon na may katumpakan na ~10 g
  • Peek and Pop — orihinal na UX pattern na may dalawang antas ng presyon (preview at bukas)
  • UIContextMenuInteraction — modernong iOS API para sa context menu, karaniwan para sa parehong teknolohiya
  • Quick Actions — context menu sa icon ng app para sa mabilis na aksyon
  • UIForceTouchCapability — pagsusuri ng pagkakaroon ng 3D Touch sa pamamagitan ng traitCollection

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din