MMShareSheet介绍(自定义的分享弹出框组件)

2024-08-23 22:38

本文主要是介绍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.swiftMMCardItem.swift加入到你的项目中即可。

Just clone and add MMShareSheet.swift, MMCardItem.swift to your project.

Example

  1. 【类似于微信分享】- Similar to WeChat share

  2. 【单组cards】- Single group cards(显示组数完全取决于传入的cards数组)

  3. 【多组cards】- Multi group cards

  4. 【支持远程icon】- Support remote Icon

类似于微信分享

单组cards

多组cards

支持远程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介绍(自定义的分享弹出框组件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1100694

相关文章

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交