swift 分享share页面封装(功能按钮不同)

关于分享功能页面应该有很多,写这篇swift版本的分享页面,根据不同模块可能分享的功能按钮不一样,引言:

想必大家都使用微博右上角更多按钮,会弹出如下的界面:

swift 分享share页面封装(功能按钮不同)

 在开发中,可能针对同一个app的不同按钮,要分享的平台和功能按钮选项是不同的,这就需要开发者在开发之前就要设计封装好,此次根据项目本身进行封装了一份,希望对大家有所帮助!

 一、概述

在封装项目效果如下,里面的内容,可以自行在枚举中添加(下面代码会说到)- 

swift 分享share页面封装(功能按钮不同)

黄色内容是提示语,放在UILabel中

红色内容是分享的平台,可以滚动,放在UICollectionView中

绿色内容是功能模块,可以滚动,放在UICollectionView中

蓝色内容是取消按钮,放在UIButton中

对于上面的布局,估计很多人都会布局成功,重点讲述一下,自己项目中怎么封装出来不同模块,分享页面不一的情况!下面是代码的主体结构:

swift 分享share页面封装(功能按钮不同)

 

 

二、详解(附带代码)  1. XYZShareEnum - 存放枚举类型

XYShareEnum用于存放分享平台、功能按钮以及使用场景内容和判断!

1.1 首先看一下分享平台设置

如下图:

swift 分享share页面封装(功能按钮不同)

通过这个枚举设置分享平台,可以自行选择设置分享的内容.

1.2 然后看功能选项按钮

如下图:

swift 分享share页面封装(功能按钮不同)

利用的同样的方法结构,添加功能性按钮选项,可以根据需求增加需要的功能按钮,并导入图片.

1.3 最后使用场景枚举

swift 分享share页面封装(功能按钮不同)

上面是不同场景分享不同的第三方平台,如果功能性按钮,分享的页面也都不同,也可书写类似的枚举进行管理.basic代表基本的第三方选项;myItem代表是公司开发的其他app,分享到自己公司app上

 

2. XYZShareViewController - 布局以及页面展示

XYZShareViewController 用于页面布局展示,以及处理响应的点击事件

swift 分享share页面封装(功能按钮不同)

首先定义tools,代表功能性按钮选择,存放XYZShareToolEnum的枚举功能选项,type:用于存放平台的选择,代表basic与myItem两个选项,block:

clickItemHandle用于点击某一个item.

 

swift 分享share页面封装(功能按钮不同)

swift 分享share页面封装(功能按钮不同)

上面的collectionView用于分享平台的展示,下面的toolsCollectionView存放的是功能性按钮.

 

swift 分享share页面封装(功能按钮不同)

上面的convenience init方法用于接受使用场景,下面的类方法show,用于在适合弹出分享页面的时候调用

 

在数据源方面处理的代码如下:

swift 分享share页面封装(功能按钮不同)

用于显示功能和平台展示的区别和赋值.

 

3. XYZShareInfo -分享内容回调

XYZShareInfo: 用于在UICollectionView中did事件处理,点击某个Item分享内容

swift 分享share页面封装(功能按钮不同)

 

4. 使用方法 

 在ViewController中,点击分享按钮,弹框显示,代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzydjf.html