SplitViewDragAndDrop 0.1

SplitViewDragAndDrop 0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
版本发布上次发布2017年6月
SwiftSwift 版本3.0
SPM支持 SPM

Mario Iannotta 维护。



  • Mario Iannotta

SplitViewDragAndDrop

轻松添加拖放,以在您的应用程序之间传递数据

设置

  • 将“SplitViewDragAndDrop”文件夹复制到您的项目中
  • 确保在 application:didFinishLaunchingWithOptions: 中调用 SplitViewDragAndDrop.configure(groupIdentifier: <YOUR-APP-GROUP-ID>)您的应用程序必须共享相同的 app group 才能进行通信
  • 使用以下代码配置您想要拖动的视图 SplitViewDragAndDrop.handleDrag(viewToDrag: <THE-DRAGGABLE-VIEW>, identifier: <AN-IDENTIFIER>, dataToTransfer: <SOME-DATA-TO-TRANSFER>),其中
    • viewToDrag 是一个 UIView 并将被快照并在应用程序中拖动
    • identifier 是一个表示唯一标识符的字符串。
    • dataToTransfer 是一个 Data,它可以是图像、pdf 等。

  • 使用以下代码配置拖放观察器
    SplitViewDragAndDrop.addDropObserver(
     targetView: <A-TARGET-VIEW>,
     identifier: <AN-IDENTIFIER>,
     draggingBegan: { frame, draggedViewSnapshotImage, dataTransfered in
       // the drag is began, here you can perform some ui changes in order to tell the user where to drag the item
     },
     draggingValidation: { frame, draggedViewSnapshotImage, dataTransfered in            
       return <A-BOOL>
     },
     completion: { frame, draggedViewSnapshotImage, dataTransfered, isValid in
       // the drag is complete and you can use dataTrasfered if you want
     }
    )
    

    其中

    • targetView 是一个 UIView 并将在用户结束拖放并验证成功时成为拖动项目的中心
    • identifier 是一个表示唯一标识符的字符串
    • draggingBegan 是一个闭包,在拖动开始时将被调用
    • draggingValidation 是一个闭包,在拖动结束时将被调用。您必须返回一个值以表示拖动是否有效。如果该值为 true,则拖动视图将被移动到 targetView 的中心,否则它将返回到原始位置。
    • completion 是一个在验证之后被调用的闭包。

示例

在这个仓库中,您还可以找到一个示例。

信息

如果您喜欢这个 Git,您可以在这里或推特上关注我 :) @MarioIannotta

意大利加油!