3D Touch: τι είναι, τεχνολογίες Force Touch και Haptic Touch

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-02-28 Χρόνος ανάγνωσης: 10 λεπ

3D Touch — τεχνολογία υλικού της Apple που αναγνωρίζει τη δύναμη πίεσης στην οθόνη iPhone και η αντικατάστασή της σε λογισμικό Haptic Touch, που λειτουργεί με βάση τη διάρκεια αφής. Το 3D Touch χρησιμοποιεί βαθμονομημένους αισθητήρες πίεσης τοποθετημένους κάτω από τη μήτρα της οθόνης (Force Touch) και επιτρέπει τη διάκριση ελαφριάς πίεσης (peek) από βαθιά (pop). Από το iOS 13, η Apple αντικατέστησε το 3D Touch με Haptic Touch — τεχνολογία που προσομοιώνει την ισχυρή πίεση μέσω Long Press με απτική ανάδραση UIContextMenuInteraction.

Κύρια σημεία

  • Δύναμη πίεσης — το 3D Touch μετρά την πίεση σε γραμμάρια· το Haptic Touch χρησιμοποιεί χρόνο κρατήματος
  • Peek and Pop — το αρχικό μοτίβο UX του 3D Touch: ελαφριά πίεση (peek) για προεπισκόπηση, βαθιά (pop) για άνοιγμα
  • UIContextMenuInteraction — σύγχρονο API iOS για μενού περιβάλλοντος που λειτουργεί με Haptic Touch
  • Force Touch — τεχνολογία της Apple που μετρά την πίεση μέσω χωρητικών αισθητήρων στην οθόνη
  • UIForceTouchCapability — μέθοδος iOS για έλεγχο διαθεσιμότητας 3D Touch στη συσκευή

Τι είναι το 3D Touch και το Haptic Touch;

3D Touch — τεχνολογία εισόδου υλικού που έκανε το ντεμπούτο της στο iPhone 6S (2015). Κάτω από την επιφάνεια της οθόνης βρίσκονται χωρητικοί αισθητήρες που μετρούν την απόσταση μεταξύ γυαλιού και οπίσθιου φωτισμού. Κατά την πίεση με το δάχτυλο, το γυαλί κάμπτεται κατά μικρόμετρα, οι αισθητήρες καταγράφουν το μέγεθος της παραμόρφωσης και το μετατρέπουν σε τιμή δύναμης (γραμμάρια). Το iOS διακρίνει τρία επίπεδα: ελαφριά αφή (touch), μέτρια πίεση (peek, ~200 g) και βαθιά πίεση (pop, ~400 g).

Haptic Touch — αντικατάσταση λογισμικού για το 3D Touch, που παρουσιάστηκε στο iOS 13 (2019). Αντί να μετρά την πίεση, το Haptic Touch χρησιμοποιεί Long Press (κρατώντας το δάχτυλο ~500 ms) για να ενεργοποιήσει τις ίδιες ενέργειες. Η απτική ανάδραση (haptic feedback) προσομοιώνει την αίσθηση "κλικ", αν και δεν συμβαίνει καμία φυσική πίεση. Η Apple μεταπήδησε στο Haptic Touch λόγω της πολυπλοκότητας και του υψηλού κόστους παραγωγής οθονών 3D Touch, ειδικά κατά τη μετάβαση σε πάνελ OLED με Face ID.

Ιστορικό υπόβαθρο: Το 3D Touch εμφανίστηκε στο iPhone 6S και διατηρήθηκε μέχρι το iPhone XS (2018). Το iPhone XR (2018) ήταν η πρώτη συσκευή με Haptic Touch αντί για 3D Touch. Από το iPhone 11 (2019) και το iOS 13, όλα τα νέα iPhone χρησιμοποιούν Haptic Touch. Το iPad δεν έλαβε ποτέ 3D Touch — μόνο Haptic Touch από το iPadOS 13. Το Apple Watch χρησιμοποιεί τεχνολογία Force Touch στην οθόνη (διαφορετική από το iPhone 3D Touch), η οποία αφαιρέθηκε από το watchOS 7 και το Series 6.

Τεχνολογία Force Touch: πώς μετράται η πίεση

Force Touch — τεχνολογία μέτρησης δύναμης πίεσης που χρησιμοποιείται από την Apple σε iPhone 6S–XS (3D Touch), trackpad MacBook (2015+) και Apple Watch (Series 1–5). Στη βάση της βρίσκονται χωρητικοί αισθητήρες τοποθετημένοι γύρω από την περίμετρο της οθόνης. Κατά την πίεση, το γυαλί παραμορφώνεται κατά μικρόμετρα, οι αισθητήρες καταγράφουν την αλλαγή απόστασης και υπολογίζουν τη δύναμη σύμφωνα με καμπύλη βαθμονόμησης. Το σύστημα λαμβάνει υπόψη τη θερμοκρασία περιβάλλοντος (βαθμονόμηση κάθε 24 ώρες) και τη θέση του δαχτύλου (το κέντρο της οθόνης είναι πιο ευαίσθητο).

Βαθμονόμηση — κρίσιμη πτυχή του 3D Touch. Κάθε iPhone βαθμονομείται ξεχωριστά στο εργοστάσιο. Το iOS εκτελεί επίσης δυναμική βαθμονόμηση: στο πρώτο πάτημα μετά την εκκίνηση, το σύστημα ζητά τη μέγιστη δύναμη του χρήστη και προσαρμόζει την ευαισθησία. Οι αισθητήρες έχουν ακρίβεια ±10 γραμμάρια, εύρος — από 0 έως 500+ γραμμάρια. Ο προγραμματιστής μπορεί να λάβει την τιμή force μέσω UITouch.force (κανονικοποιημένη από 0.0 έως μέγιστη) ή UITouch.maximumPossibleForce.

swift
// Έλεγχος διαθεσιμότητας 3D Touch και ανάγνωση δύναμης πίεσης
class ForceTouchViewController: UIViewController {

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

        // Έλεγχος υποστήριξης Force Touch στη συσκευή
        guard self.traitCollection.forceTouchCapability
                == UIForceTouchCapability.available else {
            // Η συσκευή δεν υποστηρίζει 3D Touch
            return
        }

        // Ανάγνωση δύναμης πίεσης (0.0 — μέγιστη)
        let force = touch.force      // 0.0 ... maximumPossibleForce
        let maxForce = touch.maximumPossibleForce

        // Κανονικοποίηση σε εύρος 0.0–1.0 για οπτικοποίηση
        let normalizedForce = force / maxForce

        // Οπτική αντίδραση στη δύναμη πίεσης (κλίμακα στοιχείου)
        forceView.transform = CGAffineTransform(scaleX: 1.0 + normalizedForce * 0.3,
                                                y: 1.0 + normalizedForce * 0.3)
    }
}

Περιορισμοί: Το 3D Touch λειτουργεί μόνο με ενεργή αφή (UITouch.phase == .began ή .moved). Μετά την απελευθέρωση, η τιμή force μηδενίζεται. Η μέγιστη τιμή force διαφέρει μεταξύ συσκευών: iPhone 6S — 6.6666, iPhone 7/X — έως 20.0 (λόγω διαφορετικής βαθμονόμησης). Μην χρησιμοποιείτε το force για κρίσιμες ενέργειες — ο χρήστης μπορεί να μην γνωρίζει με πόση δύναμη να πατήσει. Πάντα να παρέχετε εναλλακτική μέσω Haptic Touch (Long Press).

Peek and Pop: μοτίβο UX ισχυρής πίεσης

Peek and Pop — το αρχικό μοτίβο UX της Apple, που παρουσιάστηκε με το 3D Touch στο iPhone 6S. Peek — ελαφριά πίεση (force ~0.5–1.0) που δείχνει μια προεπισκόπηση περιεχομένου (email, σύνδεσμος, φωτογραφία) με τη μορφή κάρτας προεπισκόπησης. Pop — βαθύτερη πίεση (force ~2.0+) που ανοίγει το περιεχόμενο σε πλήρη οθόνη. Το Peek υποστήριζε ενέργειες στο κάτω μέρος (share, copy, reply), προσβάσιμες με σάρωση προς τα πάνω στην κάρτα προεπισκόπησης.

Υλοποίηση Peek and Pop στο UIKit περιλάμβανε τρία στοιχεία: UIViewControllerPreviewingDelegate (πρωτόκολλο με μεθόδους previewingContext(_:viewControllerForLocation:) και previewingContext(_:commit:)), UIPreviewAction (ενέργειες στο κάτω μέρος) και εγγραφή μέσω registerForPreviewing(with:sourceView:). Ο προγραμματιστής καθόριζε ποιο ViewController θα εμφανιζόταν στο Peek και πώς θα ανοιγόταν στο Pop. Το σύστημα πρόσθετε αυτόματα κινούμενα σχέδια παράλλαξης και θόλωση φόντου.

ΧειρονομίαΔύναμη (κανον.)ΕνέργειαΟπτικό εφέ
Αφή (Touch)0.0–0.3Συνήθης αλληλεπίδρασηΕπισήμανση στοιχείου
Ελαφριά πίεση (Peek)0.5–1.0Προεπισκόπηση περιεχομένουΚάρτα με θόλωση φόντου
Βαθιά πίεση (Pop)2.0+Άνοιγμα σε πλήρη οθόνηΚινούμενο σχέδιο ανοίγματος κάρτας
Σάρωση προς τα πάνωΕνέργειες (share, copy)Ομάδα UIPreviewAction

Μετάβαση σε UIContextMenuInteraction (iOS 13): Η Apple αντικατέστησε το Peek and Pop με μενού περιβάλλοντος μέσω UIContextMenuInteraction. Το νέο API είναι απλούστερο: δεν απαιτεί UIViewControllerPreviewingDelegate, υποστηρίζει ιεραρχικά μενού (υπομενού), εικονίδια SF Symbols και λειτουργεί το ίδιο με 3D Touch και Haptic Touch. Μετεγκατάσταση: το registerForPreviewing είναι καταργημένο από το iOS 13. Αντικαταστήστε το με UIContextMenuConfiguration, το οποίο προσαρμόζεται αυτόματα στις δυνατότητες της συσκευής.

Μενού περιβάλλοντος: UIContextMenuInteraction

UIContextMenuInteraction — σύγχρονο API iOS για μενού περιβάλλοντος, διαθέσιμο από το iOS 13. Προστίθεται σε οποιοδήποτε UIView μέσω addInteraction(_:). Ο εκπρόσωπος UIContextMenuInteractionDelegate παρέχει τη διαμόρφωση μενού: UIContextMenuConfiguration με αναγνωριστικό, previewProvider (προαιρετικά, για προεπισκόπηση) και actionProvider (πίνακας UIAction ή UIMenu). Το μενού περιβάλλοντος ενεργοποιείται μέσω 3D Touch (εάν είναι διαθέσιμο) ή Haptic Touch (Long Press σε άλλες συσκευές).

swift
// 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: "Κοινοποίηση",
                              image: UIImage(systemName: "square.and.arrow.up"),
                              handler: { _ in self.shareContent() })

            let edit = UIAction(title: "Επεξεργασία",
                            image: UIImage(systemName: "pencil"),
                            handler: { _ in self.editContent() })

            let delete = UIAction(title: "Διαγραφή",
                            image: UIImage(systemName: "trash"),
                            attributes: .destructive,
                            handler: { _ in self.deleteContent() })

            return UIMenu(title: "Ενέργειες", children: [share, edit, delete])
        }
    }
}

UIContextMenuConfiguration υποστηρίζει previewProvider — έναν ελεγκτή που εμφανίζεται ως προεπισκόπηση. Εάν το previewProvider είναι nil, το μενού περιβάλλοντος εμφανίζεται χωρίς προεπισκόπηση. Για προσαρμογή του μεγέθους και της εμφάνισης της προεπισκόπησης χρησιμοποιείται το UIContextMenuContentPreviewProvider. Τα μενού περιβάλλοντος λαμβάνουν αυτόματα απτική ανάδραση (Haptic Touch Engine) και κινούμενο σχέδιο εμφάνισης (scale + fade).

Haptic Touch vs 3D Touch: σύγκριση

Haptic Touch και 3D Touch — διαφορετικές τεχνολογίες που οδηγούν στο ίδιο αποτέλεσμα. Το 3D Touch είναι υλικό (αισθητήρες πίεσης στην οθόνη), το Haptic Touch είναι λογισμικό (Long Press + Taptic Engine για απτική προσομοίωση). Το 3D Touch απαιτεί κόστος παραγωγής (πρόσθετο στρώμα αισθητήρων), αυξάνει το πάχος της οθόνης και την πολυπλοκότητα επισκευής. Το Haptic Touch είναι φθηνότερο, απλούστερο στην παραγωγή και διαθέσιμο σε όλες τις σύγχρονες συσκευές (iPhone SE 2020, iPhone 11–16, iPad, iPod touch).

Παράμετρος3D TouchHaptic Touch
ΑρχήΜέτρηση πίεσης (γραμμάρια)Μέτρηση χρόνου (χιλιοστά δευτερολέπτου)
ΔιαθεσιμότηταiPhone 6S–XS (περιορισμένη)iPhone XR+, iPad, iPod touch
ΤαχύτηταΆμεση (~100 ms)Με καθυστέρηση (~500 ms)
Επίπεδα πίεσης2 (peek + pop)1 (μενού περιβάλλοντος)
Απτική ανάδρασηTaptic Engine (προσομοίωση κλικ)Taptic Engine (προσομοίωση κλικ)
App StoreQuick Actions στο εικονίδιοQuick Actions στο εικονίδιο
ΒαθμονόμησηΑυτόματη βαθμονόμηση στη δύναμη χρήστηΔεν απαιτείται
ΕπισκευασιμότηταΠολύπλοκη (αισθητήρες στην οθόνη)Τυπική

Επίδραση στο UX: η ταχύτητα του 3D Touch είναι μεγαλύτερη — ο χρήστης λαμβάνει αμέσως μενού περιβάλλοντος όταν πιέζει δυνατά. Το Haptic Touch απαιτεί παύση 500 ms, η οποία γίνεται αισθητή ως πιο αργή. Ωστόσο, η Apple το αντισταθμίζει με απτική ανάδραση και οπτική κινούμενη εικόνα. Οι χρήστες που μεταβαίνουν από 3D Touch σε Haptic Touch συχνά παρατηρούν τη διαφορά ταχύτητας. Για τους προγραμματιστές, η μετεγκατάσταση είναι διαφανής: το UIContextMenuInteraction λειτουργεί το ίδιο και στις δύο τεχνολογίες.

Πού εφαρμόζεται η ισχυρή πίεση

Quick Actions — μενού περιβάλλοντος στο εικονίδιο εφαρμογής στην αρχική οθόνη. Ισχυρή πίεση (3D Touch) ή Long Press (Haptic Touch) στο εικονίδιο εμφανίζει έως 4 γρήγορες ενέργειες: "Νέο μήνυμα" (Messages), "Λήψη φωτογραφίας" (Camera), "Αναζήτηση" (Safari). Υλοποιείται μέσω του κλειδιού Info.plist UIApplicationShortcutItems ή μέσω του εκπροσώπου UIApplicationShortcutItem. Τα Quick Actions είναι διαθέσιμα σε όλες τις συσκευές με iOS 13+ (Haptic Touch) ή 3D Touch.

Πληκτρολόγιο-trackpad — η ισχυρή πίεση στο πληκτρολόγιο iOS το μετατρέπει σε λειτουργία trackpad: τα πλήκτρα γίνονται ανενεργά και η κίνηση του δαχτύλου μετακινεί τον δρομέα. Το 3D Touch ενεργοποιούσε το trackpad με ισχυρή πίεση σε οποιοδήποτε σημείο του πληκτρολογίου. Το Haptic Touch ενεργοποιεί το trackpad με παρατεταμένη πίεση στο πλήκτρο διαστήματος (spacebar). Η λειτουργία trackpad έχει γίνει μία από τις πιο δημοφιλείς εφαρμογές του 3D Touch — οι χρήστες εκτιμούν την ακριβή τοποθέτηση του δρομέα κατά την επεξεργασία κειμένου.

Προεπισκόπηση συνδέσμων και φωτογραφιών — η ισχυρή πίεση σε έναν σύνδεσμο στο Safari εμφανίζει προεπισκόπηση σελίδας (peek) χωρίς πλοήγηση. Παρόμοια: η πίεση σε μια φωτογραφία στο Messages ανοίγει μια μεγεθυμένη έκδοση. Η σάρωση προς τα πάνω στη λειτουργία peek εμφανίζει ενέργειες: "Άνοιγμα", "Προσθήκη στη λίστα ανάγνωσης", "Αντιγραφή". Όλα αυτά τα σενάρια λειτουργούν μέσω UIContextMenuInteraction σε σύγχρονες εκδόσεις iOS.

Σχέδιο και δημιουργικές εφαρμογές — στο Procreate, Photoshop και άλλες εφαρμογές σχεδίασης, η δύναμη πίεσης 3D Touch ελέγχει το πάχος πινέλου, την αδιαφάνεια ή τον κορεσμό χρώματος. Οι εφαρμογές διαβάζουν UITouch.force (0.0–1.0) και το μετατρέπουν σε παραμέτρους εργαλείου. Ωστόσο, για σχέδιο, το Apple Pencil στο iPad παρέχει ακριβέστερο έλεγχο πίεσης (με υποστήριξη κλίσης και αζιμουθίου), επομένως το 3D Touch σε δημιουργικές εφαρμογές στο iPhone είναι λιγότερο περιζήτητο.

Συχνές Ερωτήσεις

Ποια είναι η διαφορά μεταξύ 3D Touch και Haptic Touch;

3D Touch — τεχνολογία υλικού που μετρά τη δύναμη πίεσης μέσω χωρητικών αισθητήρων στην οθόνη (iPhone 6S–XS). Haptic Touch — απομίμηση λογισμικού που χρησιμοποιεί Long Press (κρατώντας) και απτική ανάδραση Taptic Engine. Το 3D Touch είναι ταχύτερο (100 ms vs 500 ms) και υποστηρίζει δύο επίπεδα δύναμης (peek + pop). Το Haptic Touch είναι διαθέσιμο σε όλες τις συσκευές με iOS 13+, συμπεριλαμβανομένων iPhone XR, όλων των μοντέλων iPhone 11–16, iPad και iPod touch.

Πώς ελέγχω εάν η συσκευή υποστηρίζει 3D Touch;

Στον κώδικα χρησιμοποιήστε traitCollection.forceTouchCapability. Η τιμή .available — το 3D Touch υποστηρίζεται, .unavailable — όχι, .unknown — δεν έχει ακόμη προσδιοριστεί (περιμένετε για traitCollectionDidChange). Σε συσκευές με Haptic Touch, το forceTouchCapability επιστρέφει .unavailable, επειδή το Haptic Touch δεν χρησιμοποιεί αισθητήρες δύναμης υλικού. Για χρήστες έλεγχος: Ρυθμίσεις → Γενικά → Προσβασιμότητα → 3D Touch (μόνο σε παλαιότερα iPhone).

Γιατί η Apple εγκατέλειψε το 3D Touch;

Η Apple αντικατέστησε το 3D Touch με Haptic Touch για διάφορους λόγους: υψηλό κόστος παραγωγής οθονών με αισθητήρες πίεσης, πολυπλοκότητα επισκευής (αισθητήρες ενσωματωμένοι στην οθόνη), περιορισμένη ενημερότητα χρηστών (πολλοί δεν γνώριζαν τη λειτουργία) και μετάβαση σε οθόνες OLED με Face ID, οι οποίες είναι δυσκολότερο να βαθμονομηθούν για 3D Touch. Το Haptic Touch είναι φθηνότερο, απλούστερο και διαθέσιμο σε περισσότερες συσκευές.

Ποια iPhone υποστηρίζουν 3D Touch;

3D Touch υποστηρίζεται από: iPhone 6S, 6S Plus, 7, 7 Plus, 8, 8 Plus, X, XS, XS Max. Το iPhone XR δεν διαθέτει 3D Touch (πρώτο με Haptic Touch). Όλα τα μοντέλα iPhone 11, 12, 13, 14, 15, 16 και SE (2ης και 3ης γενιάς) χρησιμοποιούν Haptic Touch. Το iPad δεν είχε ποτέ 3D Touch. Σε συσκευές με 3D Touch είναι επίσης διαθέσιμες ρυθμίσεις ευαισθησίας (Ρυθμίσεις → Γενικά → Προσβασιμότητα → 3D Touch).

Μπορώ να εξομοιώσω το 3D Touch σε συσκευές χωρίς αυτό;

Ναι, το iOS εξομοιώνει αυτόματα το 3D Touch μέσω Haptic Touch σε συσκευές χωρίς υποστήριξη υλικού. Το API UIContextMenuInteraction λειτουργεί το ίδιο σε όλες τις συσκευές — το σύστημα επιλέγει μόνο του το έναυσμα (3D Touch ή Long Press). Για τον κώδικά σας αυτό είναι διαφανές: το μενού περιβάλλοντος εμφανίζεται σε όλες τις συσκευές με iOS 13+. Δεν χρειάζεται να γράψετε ξεχωριστή λογική για 3D Touch και Haptic Touch — χρησιμοποιήστε UIContextMenuConfiguration.

Περίληψη

  • 3D Touch — τεχνολογία υλικού μέτρησης δύναμης πίεσης μέσω αισθητήρων στην οθόνη (iPhone 6S–XS)
  • Haptic Touch — αντικατάσταση λογισμικού που χρησιμοποιεί Long Press με απτική ανάδραση (iOS 13+)
  • Force Touch — τεχνολογία χωρητικών αισθητήρων για μέτρηση πίεσης με ακρίβεια ~10 g
  • Peek and Pop — αρχικό μοτίβο UX με δύο επίπεδα πίεσης (προεπισκόπηση και άνοιγμα)
  • UIContextMenuInteraction — σύγχρονο API iOS για μενού περιβάλλοντος, κοινό και για τις δύο τεχνολογίες
  • Quick Actions — μενού περιβάλλοντος στο εικονίδιο εφαρμογής για γρήγορες ενέργειες
  • UIForceTouchCapability — έλεγχος διαθεσιμότητας 3D Touch μέσω traitCollection

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης