iOS 15 Drag and Drop Text Between Messaging Apps
Apple introduced system-wide drag and drop functionality for iPhone in iOS 15, allowing users to seamlessly move text, links, and media between different applications using multi-touch gestures. This guide explains how drag and drop text transfer works between Appleās native Messages app and third-party messaging platforms, detailing the required gestures, the underlying system behavior, and compatibility requirements.
How Cross-App Drag and Drop Works
On iOS 15, the drag and drop mechanism utilizes the operating system's multi-touch framework. Instead of relying on the traditional copy-and-paste menu, you can grab a snippet of text from one application and physically drop it into the text composition field of another.
To transfer text from Messages to a third-party app (such as WhatsApp, Telegram, or Signal), or vice versa, follow these steps:
- Highlight and Lift: Select the text you want to transfer within the source app. Press and hold the selected text until it visually lifts off the screen and attaches to your finger, turning into a floating translucent bubble.
- Engage Multitasking: While continuing to hold the text with your primary finger, use a second finger to swipe up from the bottom of the screen to return to the Home Screen or invoke the App Switcher.
- Switch Apps: Navigate to and tap the target third-party messaging app to open it, keeping the initial finger pressed against the screen with the floating text.
- Drop into the Input Field: Drag the floating text
over the chat input bar in the destination app. A green plus badge
(
+) will appear next to the cursor when the input field is ready to accept the snippet. - Release: Lift your finger off the screen. The text will instantly populate the input field, ready to be sent.
Technical Functionality and API Support
Under the hood, iOS 15 handles this transfer using the
UIDragInteraction and UIDropInteraction APIs
alongside NSItemProvider.
- Automatic Support: Any third-party app that relies
on standard UIKit text components (
UITextFieldorUITextView) inherits drag and drop support automatically without requiring developer modification. - Custom Chat Fields: Apps using heavily customized
text input bars must explicitly adopt
UIDropInteractionto accept incoming text payloads. If an app has not implemented drop targets for custom fields, the green plus badge will not appear, and releasing the text will cancel the operation. - Data Formatting: When dragging text between
Messages and third-party apps, iOS normalizes the content into plain
text (
public.plain-textUTI) or rich text (public.rtf), depending on what the receiving application accepts. Most third-party chat clients strip rich formatting and accept the transfer strictly as standard, unformatted text strings.