3D Touch: what it is, Force Touch and Haptic Touch technologies

Author: IT Sectr Published: 2026-02-28 Reading time: 10 min

3D Touch is an Apple hardware technology that recognizes the force of pressing on the iPhone display, and its software replacement Haptic Touch, which works through touch duration. 3D Touch uses calibrated pressure sensors installed under the screen matrix (Force Touch), and allows distinguishing between light press (peek) and deep press (pop). Starting with iOS 13, Apple replaced 3D Touch with Haptic Touch — a technology that simulates force press through Long Press with haptic feedback UIContextMenuInteraction.

Key Takeaways

  • Press Force — 3D Touch measures pressure in grams; Haptic Touch uses hold time
  • Peek and Pop — the original 3D Touch UX pattern: light press (peek) for preview, deep press (pop) for opening
  • UIContextMenuInteraction — modern iOS API for context menus, working with Haptic Touch
  • Force Touch — Apple technology that measures pressure through capacitive sensors in the display
  • UIForceTouchCapability — iOS method for checking 3D Touch availability on the device

What Is 3D Touch and Haptic Touch?

3D Touch is a hardware input technology that debuted in the iPhone 6S (2015). Beneath the display surface, capacitive sensors measure the distance between the glass and the backlight. When you press with your finger, the glass bends microscopically, the sensors detect the amount of deformation and convert it into a force value (grams). iOS distinguishes three levels: light touch (touch), medium press (peek, ~200 g) and deep press (pop, ~400 g).

Haptic Touch is a software replacement for 3D Touch, introduced in iOS 13 (2019). Instead of measuring pressure, Haptic Touch uses Long Press (finger hold ~500 ms) to activate the same actions. Haptic feedback simulates the feeling of a "click," although no physical press occurs. Apple switched to Haptic Touch due to the complexity and high cost of manufacturing 3D Touch displays, especially when transitioning to OLED panels with Face ID.

Historical background: 3D Touch appeared in iPhone 6S and remained until iPhone XS (2018). iPhone XR (2018) became the first device with Haptic Touch instead of 3D Touch. Starting with iPhone 11 (2019) and iOS 13, all new iPhones use Haptic Touch. iPad never received 3D Touch — only Haptic Touch with iPadOS 13. Apple Watch uses Force Touch technology in the display (different from iPhone 3D Touch), which was removed starting with watchOS 7 and Series 6.

Force Touch Technology: How Pressure Is Measured

Force Touch is a force measurement technology used by Apple in iPhone 6S–XS (3D Touch), MacBook trackpads (2015+) and Apple Watch (Series 1–5). It is based on capacitive sensors located around the perimeter of the display. When pressed, the glass deforms by microns, the sensors register the change in distance and calculate the force using a calibration curve. The system takes into account the ambient temperature (calibration every 24 hours) and finger position (the center of the screen is more sensitive).

Calibration is a critical aspect of 3D Touch. Each iPhone is calibrated individually at the factory. iOS also performs dynamic calibration: on the first press after boot, the system asks for the user's maximum force and adjusts sensitivity. Sensors have an accuracy of ±10 grams, range — from 0 to 500+ grams. The developer can get the force value through UITouch.force (normalized from 0.0 to maximum) or UITouch.maximumPossibleForce.

swift
// Checking 3D Touch availability and reading press force
class ForceTouchViewController: UIViewController {

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

        // Checking Force Touch support on the device
        guard self.traitCollection.forceTouchCapability
                == UIForceTouchCapability.available else {
            // Device does not support 3D Touch
            return
        }

        // Reading press force (0.0 — max)
        let force = touch.force      // 0.0 ... maximumPossibleForce
        let maxForce = touch.maximumPossibleForce

        // Normalization to 0.0–1.0 range for visualization
        let normalizedForce = force / maxForce

        // Visual reaction to press force (element scale)
        forceView.transform = CGAffineTransform(scaleX: 1.0 + normalizedForce * 0.3,
                                                y: 1.0 + normalizedForce * 0.3)
    }
}

Limitations: 3D Touch only works with an active touch (UITouch.phase == .began or .moved). After release, the force value resets to zero. The maximum force value varies between devices: iPhone 6S — 6.6666, iPhone 7/X — up to 20.0 (due to different calibration). Do not use force for critical actions — the user may not know how hard to press. Always provide an alternative through Haptic Touch (Long Press).

Peek and Pop: UX Pattern of Force Press

Peek and Pop is the original Apple UX pattern introduced with 3D Touch in iPhone 6S. Peek is a light press (force ~0.5–1.0) that shows a preview of content (email, link, photo) in a preview card. Pop is a deeper press (force ~2.0+) that opens the content in full screen. Peek supported actions at the bottom (share, copy, reply), accessible by swiping up on the preview card.

Peek and Pop implementation in UIKit included three components: UIViewControllerPreviewingDelegate (a protocol with methods previewingContext(_:viewControllerForLocation:) and previewingContext(_:commit:)), UIPreviewAction (actions at the bottom) and registration through registerForPreviewing(with:sourceView:). The developer specified which ViewController to show on Peek and how to open it on Pop. The system automatically added parallax animation and background blur.

GestureForce (norm.)ActionVisual Effect
Touch0.0–0.3Normal interactionElement highlight
Light press (Peek)0.5–1.0Content previewCard with background blur
Deep press (Pop)2.0+Full screen openingCard expansion animation
Swipe upActions (share, copy)UIPreviewAction Group

Transition to UIContextMenuInteraction (iOS 13): Apple replaced Peek and Pop with context menus through UIContextMenuInteraction. The new API is simpler: does not require UIViewControllerPreviewingDelegate, supports hierarchical menus (submenus), SF Symbols icons, and works identically with 3D Touch and Haptic Touch. Migration: registerForPreviewing deprecated since iOS 13. Replace with UIContextMenuConfiguration, which automatically adapts to the device's capabilities.

Context Menus: UIContextMenuInteraction

UIContextMenuInteraction is a modern iOS API for context menus, available since iOS 13. It is added to any UIView through addInteraction(_:). The UIContextMenuInteractionDelegate provides the menu configuration: UIContextMenuConfiguration with an identifier, previewProvider (optional, for preview) and actionProvider (array of UIAction or UIMenu). The context menu is activated by 3D Touch (if available) or Haptic Touch (Long Press on other devices).

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

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

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

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

UIContextMenuConfiguration supports previewProvider — a controller displayed as a preview. If previewProvider is nil, the context menu is shown without a preview. UIContextMenuContentPreviewProvider is used to customize the size and appearance of the preview. Context menus automatically receive haptic feedback (Haptic Touch Engine) and appearance animation (scale + fade).

Haptic Touch vs 3D Touch: Comparison

Haptic Touch and 3D Touch are different technologies leading to the same result. 3D Touch is hardware (pressure sensors in the display), Haptic Touch is software (Long Press + Taptic Engine for haptic simulation). 3D Touch requires manufacturing costs (additional sensor layer), increases screen thickness and repair complexity. Haptic Touch is cheaper, simpler to manufacture and available on all modern devices (iPhone SE 2020, iPhone 11–16, iPad, iPod touch).

Parameter3D TouchHaptic Touch
PrinciplePressure measurement (grams)Time measurement (milliseconds)
AvailabilityiPhone 6S–XS (limited)iPhone XR+, iPad, iPod touch
SpeedInstant (~100 ms)With delay (~500 ms)
Press levels2 (peek + pop)1 (context menu)
Haptic feedbackTaptic Engine (click simulation)Taptic Engine (click simulation)
App StoreQuick Actions on iconQuick Actions on icon
CalibrationAuto-calibration to user forceNot required
RepairabilityComplex (sensors in display)Standard

Impact on UX: 3D Touch speed is higher — the user gets the context menu immediately on strong press. Haptic Touch requires a 500 ms pause, which feels slower. However, Apple compensates with haptic feedback and visual animation. Users who switched from 3D Touch to Haptic Touch often notice the speed difference. For developers, migration is transparent: UIContextMenuInteraction works identically on both technologies.

Where Force Press Is Used

Quick Actions — a context menu on the app icon on the home screen. Strong press (3D Touch) or Long Press (Haptic Touch) on the icon shows up to 4 quick actions: "New Message" (Messages), "Take Photo" (Camera), "Search" (Safari). Implemented through Info.plist key UIApplicationShortcutItems or through the UIApplicationShortcutItem delegate. Quick Actions are available on all devices with iOS 13+ (Haptic Touch) or 3D Touch.

Keyboard trackpad — force pressing the iOS keyboard switches it to trackpad mode: keys become inactive, and finger movement moves the cursor. 3D Touch activated the trackpad with a strong press anywhere on the keyboard. Haptic Touch activates the trackpad with a long press on the spacebar. Trackpad mode became one of the most popular uses of 3D Touch — users appreciate precise cursor positioning when editing text.

Link and photo preview — force pressing a link in Safari shows a page preview (peek) without navigating. Similarly: pressing a photo in Messages opens an enlarged version. Swiping up in peek mode shows actions: "Open", "Add to Reading List", "Copy". All these scenarios work through UIContextMenuInteraction in modern versions of iOS.

Drawing and creative apps — in Procreate, Photoshop and other drawing apps, 3D Touch press force controls brush thickness, opacity or color saturation. Apps read UITouch.force (0.0–1.0) and convert it to tool parameters. However, for drawing, Apple Pencil on iPad provides more precise pressure control (with tilt and azimuth support), so 3D Touch in creative apps on iPhone is less in demand.

Frequently Asked Questions

What is the difference between 3D Touch and Haptic Touch?

3D Touch is a hardware technology that measures press force through capacitive sensors in the display (iPhone 6S–XS). Haptic Touch is a software simulation using Long Press and haptic feedback from the Taptic Engine. 3D Touch is faster (100 ms vs 500 ms) and supports two force levels (peek + pop). Haptic Touch is available on all devices with iOS 13+, including iPhone XR, all iPhone 11–16 models, iPad and iPod touch.

How to check if the device supports 3D Touch?

In code, use traitCollection.forceTouchCapability. The value .available means 3D Touch is supported, .unavailable means not, .unknown means not yet determined (wait for traitCollectionDidChange). On devices with Haptic Touch, forceTouchCapability returns .unavailable, since Haptic Touch does not use hardware force sensors. For users: check Settings → Accessibility → Touch → 3D Touch (only on older iPhones).

Why did Apple abandon 3D Touch?

Apple replaced 3D Touch with Haptic Touch for several reasons: high production cost of screens with pressure sensors, repair complexity (sensors integrated into the display), limited user awareness (many did not know about the feature), and the transition to OLED screens with Face ID, which are harder to calibrate for 3D Touch. Haptic Touch is cheaper, simpler and available on a larger number of devices.

Which iPhones support 3D Touch?

3D Touch is supported by: iPhone 6S, 6S Plus, 7, 7 Plus, 8, 8 Plus, X, XS, XS Max. iPhone XR does not have 3D Touch (first with Haptic Touch). All iPhone 11, 12, 13, 14, 15, 16 and SE (2nd and 3rd generation) models use Haptic Touch. iPad never had 3D Touch. On devices with 3D Touch, sensitivity settings are also available (Settings → Accessibility → Touch → 3D Touch).

Can 3D Touch be emulated on devices without it?

Yes, iOS automatically emulates 3D Touch through Haptic Touch on devices without hardware support. The UIContextMenuInteraction API works identically on all devices — the system itself selects the trigger (3D Touch or Long Press). This is transparent for your code: the context menu appears on all devices with iOS 13+. You do not need to write separate logic for 3D Touch and Haptic Touch — use UIContextMenuConfiguration.

Summary

  • 3D Touch — hardware technology for measuring press force through sensors in the display (iPhone 6S–XS)
  • Haptic Touch — software replacement using Long Press with haptic feedback (iOS 13+)
  • Force Touch — capacitive sensor technology for measuring pressure with ~10 g accuracy
  • Peek and Pop — original UX pattern with two press levels (preview and opening)
  • UIContextMenuInteraction — modern iOS API for context menus, unified for both technologies
  • Quick Actions — context menu on the app icon for quick actions
  • UIForceTouchCapability — checking 3D Touch availability through traitCollection

We will develop a mobile application turnkey

IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.

Discuss the project

Read also