本文主要是介绍MMShareSheet介绍(自定义的分享弹出框组件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MMShareSheet
Introduction
MMShareSheet 是一个简单的弹出选择框,使用纯swift编写,类似于微信(或支付宝)里面的分享(朋友圈打开网页右上角分享)控件
MMShareSheet is an simple pop-up selection box(ShareSheet) written in pure Swift. Similar to the wechat(or airpay) actionsheet share-UIKit
Rquirements
- iOS 8.0+
- Xcode 9 (swift 4)
- Xcode 8 (swift 3)
- If you want to run demo in swift3, please switch branch to swift3.0
Installation
Install with Cocoapods
pod 'MMShareSheet', '~> 1.0'
import MMShareSheet
in you code
Copy code into project
克隆代码,然后将components文件夹下面的两个文件 MMShareSheet.swift
和 MMCardItem.swift
加入到你的项目中即可。
Just clone and add MMShareSheet.swift
, MMCardItem.swift
to your project.
Example
【类似于微信分享】- Similar to WeChat share
【单组cards】- Single group cards(显示组数完全取决于传入的cards数组)
【多组cards】- Multi group cards
【支持远程icon】- Support remote Icon
Usage
let cards = [[["title": "微信好友","icon": "wechat","handler": "wxfriend"],["title": "微信朋友圈","icon": "moment","handler": "wxmoment"],["title": "QQ好友","icon": "qq","handler": "qqfriend",],["title": "支付宝","icon": "airpay","handler": "airpay",],["title": "新浪微博","icon": "sina","handler": "sinawb",]],[["title": "拷贝","icon": "copy_link","handler": "copy"],["title": "在Safari中打开","icon": "safari","handler": "safari"],["title": "收藏","icon": "collection","handler": "collect",],["title": "刷新","icon": "refresh_icon","handler": "refresh",],["title": "举报","icon": "jubao","handler": "report",]]
]let cancelBtn = ["title": "取消","handler": "cancel","type": "default",
]
let mmShareSheet = MMShareSheet.init(title: "此网页由wx.keeponrunning.com提供", cards: cards, duration: nil, cancelBtn: cancelBtn)
mmShareSheet.callBack = { (handler) ->() inprint(handler)
}
mmShareSheet.present()
PS:注释
- create sharesheet && init 【创建并初始化】
MMShareSheet.init(title: "此网页由wx.keeponrunning.com提供", cards: cards, duration: nil, cancelBtn: cancelBtn)
argument【参数描述】
title
头部标题cards
事件按钮数组,类型为Array<Array<Dictionary<String, String>>>
,里面包含每一行卡片组Array<Dictionary<String, String>>
,每一行卡片里面又包含item
mmShareSheet.callBack = { (handler) ->() inprint(handler)
}
handler
该handler即为cards里面item的handler
,对应的回调过来
- present【弹出sharesheet】
mmShareSheet.present()
Contacts
Github: MinMao-Hub
Email: 1286090267@qq.com
希望喜欢的朋友们给小星星哦☆【star】
这篇关于MMShareSheet介绍(自定义的分享弹出框组件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!