3D Touch ist eine Apple-Hardware-Technologie, die die Druckkraft auf dem iPhone-Display erkennt, und ihr softwarebasierter Ersatz Haptic Touch, der über die Berührungsdauer funktioniert. 3D Touch verwendet kalibrierte Drucksensoren, die unter der Bildschirmmatrix installiert sind (Force Touch), und ermöglicht die Unterscheidung zwischen leichtem Druck (peek) und tiefem Druck (pop). Ab iOS 13 ersetzte Apple 3D Touch durch Haptic Touch — eine Technologie, die Kraftdruck durch Long Press mit haptischem Feedback simuliert UIContextMenuInteraction.
Wichtige Erkenntnisse
3D Touch ist eine Hardware-Eingabetechnologie, die im iPhone 6S (2015) debütierte. Unter der Displayoberfläche messen kapazitive Sensoren den Abstand zwischen Glas und Hintergrundbeleuchtung. Beim Drücken mit dem Finger verformt sich das Glas mikroskopisch, die Sensoren erfassen den Verformungsbetrag und wandeln ihn in einen Kraftwert (Gramm) um. iOS unterscheidet drei Stufen: leichte Berührung (touch), mittlerer Druck (peek, ~200 g) und tiefer Druck (pop, ~400 g).
Haptic Touch ist ein softwarebasierter Ersatz für 3D Touch, der in iOS 13 (2019) eingeführt wurde. Anstatt Druck zu messen, verwendet Haptic Touch Long Press (Finger etwa 500 ms halten), um dieselben Aktionen zu aktivieren. Das haptische Feedback simuliert das Gefühl eines "Klicks", obwohl kein physischer Druck erfolgt. Apple wechselte aufgrund der Komplexität und hohen Herstellungskosten von 3D Touch-Displays zu Haptic Touch, insbesondere beim Übergang zu OLED-Panels mit Face ID.
Historischer Hintergrund: 3D Touch erschien im iPhone 6S und blieb bis zum iPhone XS (2018) erhalten. Das iPhone XR (2018) war das erste Gerät mit Haptic Touch anstelle von 3D Touch. Ab dem iPhone 11 (2019) und iOS 13 verwenden alle neuen iPhones Haptic Touch. Das iPad erhielt nie 3D Touch — nur Haptic Touch mit iPadOS 13. Die Apple Watch verwendet Force Touch-Technologie im Display (unterscheidet sich vom iPhone 3D Touch), die ab watchOS 7 und Series 6 entfernt wurde.
Force Touch ist eine Kraftmesstechnologie, die von Apple im iPhone 6S–XS (3D Touch), MacBook-Trackpads (2015+) und der Apple Watch (Series 1–5) verwendet wird. Sie basiert auf kapazitiven Sensoren, die um den Umfang des Displays angeordnet sind. Beim Drücken verformt sich das Glas um Mikrometer, die Sensoren registrieren die Entfernungsänderung und berechnen die Kraft anhand einer Kalibrierungskurve. Das System berücksichtigt die Umgebungstemperatur (Kalibrierung alle 24 Stunden) und die Fingerposition (die Bildschirmmitte ist empfindlicher).
Kalibrierung ist ein kritischer Aspekt von 3D Touch. Jedes iPhone wird werkseitig individuell kalibriert. iOS führt auch eine dynamische Kalibrierung durch: Beim ersten Druck nach dem Start fragt das System nach der maximalen Kraft des Benutzers und passt die Empfindlichkeit an. Die Sensoren haben eine Genauigkeit von ±10 Gramm, der Bereich reicht von 0 bis 500+ Gramm. Der Entwickler kann den Kraftwert über UITouch.force (normalisiert von 0.0 bis zum Maximum) oder UITouch.maximumPossibleForce abrufen.
// Überprüfung der 3D Touch-Verfügbarkeit und Lesen der Druckkraft
class ForceTouchViewController: UIViewController {
override func touchesMoved(_ touches: Set<UITouch>,
with event: UIEvent?) {
guard let touch = touches.first else { return }
// Überprüfung der Force Touch-Unterstützung auf dem Gerät
guard self.traitCollection.forceTouchCapability
== UIForceTouchCapability.available else {
// Gerät unterstützt 3D Touch nicht
return
}
// Lesen der Druckkraft (0.0 — max)
let force = touch.force // 0.0 ... maximumPossibleForce
let maxForce = touch.maximumPossibleForce
// Normalisierung auf den Bereich 0.0–1.0 zur Visualisierung
let normalizedForce = force / maxForce
// Visuelle Reaktion auf Druckkraft (Element-Skalierung)
forceView.transform = CGAffineTransform(scaleX: 1.0 + normalizedForce * 0.3,
y: 1.0 + normalizedForce * 0.3)
}
}Einschränkungen: 3D Touch funktioniert nur mit aktivem Touch (UITouch.phase == .began oder .moved). Nach dem Loslassen wird der Kraftwert auf Null zurückgesetzt. Der maximale Kraftwert variiert zwischen Geräten: iPhone 6S — 6.6666, iPhone 7/X — bis zu 20.0 (aufgrund unterschiedlicher Kalibrierung). Verwenden Sie Kraft nicht für kritische Aktionen — der Benutzer weiß möglicherweise nicht, wie fest er drücken muss. Bieten Sie immer eine Alternative über Haptic Touch (Long Press) an.
Peek and Pop ist das ursprüngliche Apple UX-Muster, das mit 3D Touch im iPhone 6S eingeführt wurde. Peek ist ein leichter Druck (Kraft ~0.5–1.0), der eine Vorschau des Inhalts (E-Mail, Link, Foto) in einer Vorschaukarte anzeigt. Pop ist ein tieferer Druck (Kraft ~2.0+), der den Inhalt im Vollbild öffnet. Peek unterstützte Aktionen unten (Teilen, Kopieren, Antworten), die durch Wischen nach oben auf der Vorschaukarte zugänglich waren.
Peek and Pop-Implementierung in UIKit umfasste drei Komponenten: UIViewControllerPreviewingDelegate (ein Protokoll mit Methoden previewingContext(_:viewControllerForLocation:) und previewingContext(_:commit:)), UIPreviewAction (Aktionen unten) und Registrierung über registerForPreviewing(with:sourceView:). Der Entwickler gab an, welcher ViewController bei Peek angezeigt und wie er bei Pop geöffnet werden soll. Das System fügte automatisch Parallax-Animation und Hintergrundunschärfe hinzu.
| Geste | Kraft (norm.) | Aktion | Visueller Effekt |
|---|---|---|---|
| Berührung (Touch) | 0.0–0.3 | Normale Interaktion | Element-Hervorhebung |
| Leichter Druck (Peek) | 0.5–1.0 | Inhaltsvorschau | Karte mit Hintergrundunschärfe |
| Tiefer Druck (Pop) | 2.0+ | Vollbild öffnen | Karten-Expansionsanimation |
| Nach oben wischen | — | Aktionen (Teilen, Kopieren) | UIPreviewAction-Gruppe |
Übergang zu UIContextMenuInteraction (iOS 13): Apple ersetzte Peek and Pop durch Kontextmenüs über UIContextMenuInteraction. Die neue API ist einfacher: erfordert kein UIViewControllerPreviewingDelegate, unterstützt hierarchische Menüs (Untermenüs), SF Symbols-Symbole und funktioniert sowohl mit 3D Touch als auch mit Haptic Touch identisch. Migration: registerForPreviewing ist seit iOS 13 veraltet. Ersetzen Sie es durch UIContextMenuConfiguration, das sich automatisch an die Gerätefähigkeiten anpasst.
UIContextMenuInteraction ist eine moderne iOS-API für Kontextmenüs, verfügbar seit iOS 13. Sie wird über addInteraction(_:) zu jeder UIView hinzugefügt. Der UIContextMenuInteractionDelegate stellt die Menükonfiguration bereit: UIContextMenuConfiguration mit einer Kennung, previewProvider (optional, für Vorschau) und actionProvider (Array von UIAction oder UIMenu). Das Kontextmenü wird durch 3D Touch (falls verfügbar) oder Haptic Touch (Long Press auf anderen Geräten) aktiviert.
// UIContextMenuInteraction mit hierarchischem Menü
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: "Teilen",
image: UIImage(systemName: "square.and.arrow.up"),
handler: { _ in self.shareContent() })
let edit = UIAction(title: "Bearbeiten",
image: UIImage(systemName: "pencil"),
handler: { _ in self.editContent() })
let delete = UIAction(title: "Löschen",
image: UIImage(systemName: "trash"),
attributes: .destructive,
handler: { _ in self.deleteContent() })
return UIMenu(title: "Aktionen", children: [share, edit, delete])
}
}
}UIContextMenuConfiguration unterstützt previewProvider — einen Controller, der als Vorschau angezeigt wird. Wenn previewProvider nil ist, wird das Kontextmenü ohne Vorschau angezeigt. UIContextMenuContentPreviewProvider wird verwendet, um Größe und Aussehen der Vorschau anzupassen. Kontextmenüs erhalten automatisch haptisches Feedback (Haptic Touch Engine) und eine Erscheinungsanimation (Skalierung + Einblendung).
Haptic Touch und 3D Touch sind unterschiedliche Technologien, die zum gleichen Ergebnis führen. 3D Touch ist Hardware (Drucksensoren im Display), Haptic Touch ist Software (Long Press + Taptic Engine für haptische Simulation). 3D Touch erfordert Herstellungskosten (zusätzliche Sensorschicht), erhöht die Bildschirmdicke und die Reparaturkomplexität. Haptic Touch ist billiger, einfacher herzustellen und auf allen modernen Geräten verfügbar (iPhone SE 2020, iPhone 11–16, iPad, iPod touch).
| Parameter | 3D Touch | Haptic Touch |
|---|---|---|
| Prinzip | Druckmessung (Gramm) | Zeitmessung (Millisekunden) |
| Verfügbarkeit | iPhone 6S–XS (begrenzt) | iPhone XR+, iPad, iPod touch |
| Geschwindigkeit | Sofort (~100 ms) | Mit Verzögerung (~500 ms) |
| Druckstufen | 2 (peek + pop) | 1 (Kontextmenü) |
| Haptisches Feedback | Taptic Engine (Klick-Simulation) | Taptic Engine (Klick-Simulation) |
| App Store | Quick Actions auf dem Symbol | Quick Actions auf dem Symbol |
| Kalibrierung | Autokalibrierung an Benutzerkraft | Nicht erforderlich |
| Reparierbarkeit | Komplex (Sensoren im Display) | Standard |
Auswirkung auf UX: Die Geschwindigkeit von 3D Touch ist höher — der Benutzer erhält das Kontextmenü sofort bei starkem Druck. Haptic Touch erfordert eine Pause von 500 ms, was sich langsamer anfühlt. Apple kompensiert dies jedoch mit haptischem Feedback und visueller Animation. Benutzer, die von 3D Touch auf Haptic Touch umgestiegen sind, bemerken oft den Geschwindigkeitsunterschied. Für Entwickler ist die Migration transparent: UIContextMenuInteraction funktioniert bei beiden Technologien identisch.
Quick Actions — ein Kontextmenü auf dem App-Symbol auf dem Startbildschirm. Starker Druck (3D Touch) oder Long Press (Haptic Touch) auf dem Symbol zeigt bis zu 4 Schnellaktionen an: "Neue Nachricht" (Messages), "Foto aufnehmen" (Camera), "Suchen" (Safari). Implementiert über den Info.plist-Schlüssel UIApplicationShortcutItems oder über den UIApplicationShortcutItem-Delegaten. Quick Actions sind auf allen Geräten mit iOS 13+ (Haptic Touch) oder 3D Touch verfügbar.
Tastatur-Trackpad — starkes Drücken der iOS-Tastatur schaltet sie in den Trackpad-Modus: Tasten werden inaktiv und Fingerbewegungen bewegen den Cursor. 3D Touch aktivierte das Trackpad durch starkes Drücken an einer beliebigen Stelle auf der Tastatur. Haptic Touch aktiviert das Trackpad durch langes Drücken der Leertaste. Der Trackpad-Modus wurde zu einer der beliebtesten Anwendungen von 3D Touch — Benutzer schätzen die präzise Cursorpositionierung beim Bearbeiten von Text.
Link- und Foto-Vorschau — starkes Drücken eines Links in Safari zeigt eine Seitenvorschau (peek) ohne Navigation. Ähnlich: Drücken eines Fotos in Messages öffnet eine vergrößerte Version. Wischen nach oben im Peek-Modus zeigt Aktionen: "Öffnen", "Zur Leseliste hinzufügen", "Kopieren". Alle diese Szenarien funktionieren über UIContextMenuInteraction in modernen iOS-Versionen.
Zeichen- und Kreativ-Apps — in Procreate, Photoshop und anderen Zeichen-Apps steuert die 3D Touch-Druckkraft die Pinselstärke, Deckkraft oder Farbsättigung. Apps lesen UITouch.force (0.0–1.0) und wandeln es in Werkzeugparameter um. Für das Zeichnen bietet der Apple Pencil auf dem iPad jedoch eine präzisere Drucksteuerung (mit Neigungs- und Azimutunterstützung), daher ist 3D Touch in kreativen Apps auf dem iPhone weniger gefragt.
Häufig gestellte Fragen
3D Touch ist eine Hardware-Technologie, die die Druckkraft über kapazitive Sensoren im Display misst (iPhone 6S–XS). Haptic Touch ist eine Software-Simulation, die Long Press und haptisches Feedback vom Taptic Engine verwendet. 3D Touch ist schneller (100 ms vs. 500 ms) und unterstützt zwei Kraftstufen (peek + pop). Haptic Touch ist auf allen Geräten mit iOS 13+ verfügbar, einschließlich iPhone XR, allen iPhone 11–16 Modellen, iPad und iPod touch.
Verwenden Sie im Code traitCollection.forceTouchCapability. Der Wert .available bedeutet, dass 3D Touch unterstützt wird, .unavailable bedeutet nein, .unknown bedeutet noch nicht bestimmt (warten Sie auf traitCollectionDidChange). Auf Geräten mit Haptic Touch gibt forceTouchCapability .unavailable zurück, da Haptic Touch keine Hardware-Kraftsensoren verwendet. Für Benutzer: Überprüfen Sie unter Einstellungen → Bedienungshilfen → Tippen → 3D Touch (nur auf älteren iPhones).
Apple ersetzte 3D Touch durch Haptic Touch aus mehreren Gründen: hohe Herstellungskosten von Bildschirmen mit Drucksensoren, Reparaturkomplexität (Sensoren im Display integriert), begrenztes Benutzerbewusstsein (viele kannten die Funktion nicht) und der Übergang zu OLED-Bildschirmen mit Face ID, die für 3D Touch schwerer zu kalibrieren sind. Haptic Touch ist billiger, einfacher und auf einer größeren Anzahl von Geräten verfügbar.
3D Touch wird unterstützt von: iPhone 6S, 6S Plus, 7, 7 Plus, 8, 8 Plus, X, XS, XS Max. Das iPhone XR hat kein 3D Touch (erstes mit Haptic Touch). Alle iPhone 11, 12, 13, 14, 15, 16 und SE (2. und 3. Generation) Modelle verwenden Haptic Touch. Das iPad hatte nie 3D Touch. Auf Geräten mit 3D Touch sind auch die Empfindlichkeitseinstellungen verfügbar (Einstellungen → Bedienungshilfen → Tippen → 3D Touch).
Ja, iOS emuliert 3D Touch automatisch über Haptic Touch auf Geräten ohne Hardware-Unterstützung. Die UIContextMenuInteraction-API funktioniert auf allen Geräten identisch — das System wählt selbst den Auslöser (3D Touch oder Long Press). Dies ist für Ihren Code transparent: Das Kontextmenü erscheint auf allen Geräten mit iOS 13+. Sie müssen keine separate Logik für 3D Touch und Haptic Touch schreiben — verwenden Sie UIContextMenuConfiguration.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch