onDropContent
是 Scripting 提供的一个视图修饰符,用于使某个视图成为接收来自其他 App 拖入的文件、图片或文本的拖放目标。该功能特别适用于 iPadOS 和 macOS 上支持多窗口、多任务操作的场景,提升交互体验。
使用 onDropContent
可以:
参数名 | 类型 | 说明 |
---|---|---|
types |
UTType[] |
可接收的内容类型标识符数组,例如 "public.image" 、"public.text" 等。若拖拽内容不包含这些类型,视图将不会成为有效的放置目标。 |
isTarget |
{ value: boolean; onChanged: (value: boolean) => void } |
表示当前拖拽是否悬停在该视图上方的绑定状态。可用于高亮或提示用户拖放目标区域。 |
onResult |
(result) => void |
当有效内容被放下时触发的回调函数,提供所接收到的内容结果对象。 |
texts
:拖拽文本内容的字符串数组;images
:拖拽进来的图片,格式为 UIImage
;fileURLs
:拖入文件的本地路径(字符串形式)。上述示例中:
VStack
仅接收 "public.image"
类型的拖拽内容;isTarget
被设为 true
,用于动态更新 UI;types
字段中的类型字符串遵循 Apple 的 Uniform Type Identifier (UTType) 规范;"public.image"
、"public.text"
、"com.adobe.pdf"
等;