• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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

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

 一、概述

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

  1. 黄色内容是提示语,放在UILabel中
  2. 红色内容是分享的平台,可以滚动,放在UICollectionView中
  3. 绿色内容是功能模块,可以滚动,放在UICollectionView中
  4. 蓝色内容是取消按钮,放在UIButton中

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

 

 

二、详解(附带代码)

 1. XYZShareEnum - 存放枚举类型

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

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

如下图:

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

1.2 然后看功能选项按钮

如下图:

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

1.3 最后使用场景枚举

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

 

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

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

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

clickItemHandle用于点击某一个item.

 

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

 

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

 

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

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

 

3. XYZShareInfo -分享内容回调

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

 

4. 使用方法 

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

发现函数返回时XYZShareInfo,在里面处理要分享的内容

 

上面就是公司项目中在不同场景使用不同分享页面的封装

代码git:     https://github.com/zxy1829760/XYZShareTool

 希望对大家在项目中思路和解决问题有所帮助,谢谢


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift的访问控制讲解发布时间:2022-07-14
下一篇:
Swift从入门到精通第五篇 - 结构体-类 初识发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap