CoolSlidingMenu

CoolSlidingMenu

开发环境

Mac OS 10.12+ / Xcode 8+ / Swift 3+

支持环境

iOS 8+, iPhone & iPad

项目获取

此处代码由Swift3.1展示,推荐使用Swift项目已经上传至github中CoolSlidingMenu(https://github.com/cba023/CoolSlidingMenu),若要使用,请导入文件到您的项目。

功能展示

User guide

使用说明

导入项目

1. 手动导入

手动导入项目需要将该文件夹的所有内容引入项目中

如图所示,将“CoolSlingMenu”文件夹拖入要用到该框架的工程中,在Swift项目中,可直接对其进行使用,ObjC项目中需要用到桥接。

对项目菜单进行定制

创建滚动菜单视图var slidingMenuView = CoolSlidingMenuView()

定制我们要使用的CoolSlidingMenu// 显示滑动菜单pageControl

slidingMenuView.pgCtrl.isHidden = false

// 未选中页pageControl颜色

slidingMenuView.pgCtrlNormalColor = .lightGray

// 选中页pageControl颜色

slidingMenuView.pgCtrlSelectedColor = .red

// 设置滑动菜单的行数

slidingMenuView.countRow = 2

// 设置滑动菜单的列数

slidingMenuView.countCol = 5

CoolSlidingMenu数据源

数组格式如下所示:

滑动菜单数据源是带title 和image 两个key的字典型数组:let arrMenu = [

["title":"0美食","image":"img1.png"],

["title":"1电影","image":"img2.png"],

["title":"2健身","image":"img3.png"]

]

slidingMenuView.arrMenu = arrMenu

添加CoolSlidingMenu到视图中let width = UIScreen.main.bounds.size.width

slidingMenuView.contentMode = .scaleAspectFit

// 行数2, 列数5,pageControl预留高度8

slidingMenuView.frame = CGRect(x: 0, y: 0, width: width, height: width / 5.0 * 2.0 + 8.0)

self.view.addSubview(slidingMenuView)

实现原理

CoolSlidingMenu主要通过UICollectionView实现,在滑动菜单中,是从左至右排列的,所以我们想要的布局如下:

1.我们想要的效果

然而,UICollectionView的实际排列确实纵向排列。如下图:

2.UICollectionView默认的排列方式

所以我们要将纵向排列转换成横向排列,CoolSlidingMenu中用到转换函数如下:/// Converting the ordering of Numbers Author: ChenBo

///

/// - Parameters:

///   - number: input number  输入的数字

///   - rowCount: rows count   行数

///   - colCount: cols count   列数

/// - Returns: output number  输出的数字

func convertDirectionCount(Number number:Int, RowCount rowCount: Int, ColCount colCount: Int) -> Int {

// 十位

let tempH = number / (colCount * rowCount)

// 个位

let tempL = number % (colCount * rowCount)

let result:Int = tempL - (tempL / rowCount) * (rowCount - 1) + tempL % rowCount * (colCount - 1) + tempH * (colCount * rowCount)

//        print("排序前:",number,"行数:",rowCount, "列数:" ,"tempH:",tempH,"tempL:",tempL, colCount,"----->",result)

return result

}

经过转换,滑动菜单就从纵向排列转化位纵向排列了。 亲,懂了吗?赶快去嗨皮吧!

致读者

该项目已经上传至github中CoolSlidingMenu(https://github.com/cba023/CoolSlidingMenu),可以在那里直接star 或者fork 该项目,它可能会长期的帮助您高效地进行程序开发,当然也欢迎留言,有不足或者错误的地方可以随时指正,您的指导和建议是我前行路上新的动力!

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

android 高仿糯米界面,仿美团、糯米、大众点评顶部可滑动菜单相关推荐

  1. 美团和大众点评合并:抱团取暖 1+1能否大于2?---OFweek

    美团和大众点评,这两个团购时代的胜者,终于在传闻合并多次之后选择走到了一起:10月7日,在合并消息再次传出之后,本网获得美团内部人士对合并的确认(内部人士称美团点评合并属实 估值170亿美元),随后引 ...

  2. Android 仿美团网,大众点评购买框悬浮效果之修改版

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...

  3. Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming),请尊重他人的辛勤劳动成果,谢谢! 随着移动互联网的快速发展,它已经和我们的生活息息相关了,在 ...

  4. Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

    Android对ScrollView滚动监听,实现美团.大众点评的购买悬浮效果 转:http://blog.csdn.net/xiaanming/article/details/17374599 很荣 ...

  5. 美团和大众点评早期分别以交易和用户评价进军团购行业

    专注于移动互联网研究的数据服务公司QuestMobile近日发布的<移动互联网行业盘点>显示,今年10月,美团点评在Android与IOS两大平台活跃用户数合计达到2.4亿以上,在线团购行 ...

  6. 行进中换轮胎——万字长文解析美团和大众点评两大数据平台是怎么融合的

    点击上方"公众号"可以订阅哦 本文根据作者在2017年ArchSummit的分享记录整理而成. 背景 互联网格局复杂多变,大规模的企业合并重组不时发生.原来完全独立甚至相互竞争的两 ...

  7. 美团和大众点评的O2O之困

    美团和大众点评的O2O之困 目前O2O已经进入白热化阶段,而美团和大众点评也在资本的二次推动下暂时成为行业所关注的翘楚,但是从另一个角度来说从团购到O2O的跨越并不是一部到位,甚至有可能出现意外颠覆者 ...

  8. 美团和大众点评合并后,两家的技术大牛们该咋办?

    估值70亿美金和估值40亿美金的两家互联网公司在国庆黄金周期间闪电合并,人们关注更多的是合并后的双方股份比例以及谁来当"真正"的CEO,两家的技术大牛们未来怎么办? 最近一年互联网 ...

  9. 淘宝/天猫/淘特/京东/拼多多/唯品会/苏宁易购/考拉海购内部隐藏优惠券。饿了么/美团外卖/美团优选/美团酒店/大众点评/口碑红包。抖音/快手直播带货。优惠券APP源码怎么写?分享给大家。

    下载地址:喵惠应用宝https://a.app.qq.com/o/simple.jsp?pkgname=com.miaohui.xin 淘宝/天猫/淘特/京东/拼多多/唯品会/苏宁易购/考拉海购内部隐 ...

最新文章

  1. poj 3984 迷宫问题 BFS
  2. GAN与力学系统的海森伯图像
  3. 《剑指offer》— JavaScript(24)二叉树中和为某一值的路径
  4. centos6.5虚拟机安装后,没有iptables配置文件
  5. angularjs html5模式,Angularjs $location html5mode浅析
  6. 自建CDN Xnign产品指标
  7. C++中应用于for循环的auto机制,有引用和非引用两种操作
  8. @ImportResource和@PropertySource两个注解的区别
  9. PHP合并2个数字键数组的值
  10. 一个女SEOer的忏悔书
  11. 从区块链中的通证模型设计看项目的未来
  12. linux halt 命令详解
  13. idirect3ddevice9虚函数偏移_C++ 虚函数简介
  14. java搭建rtmp服务器,利用docker搭建RTMP直播流服务器实现直播
  15. Paraview—提取任意截面数据
  16. html缩小照片尺寸像素不变,怎么修改照片像素,但又不改变照片大小呢?——解决照片因大小无法上传的方案...
  17. 利用arcmap提取河流中心线
  18. 阿联酋选出首位 AI 国务部长(附Youtube视频)
  19. 2021年激光雷达行业研究报告
  20. metaball公式_parametric.是什么意思

热门文章

  1. Linux配置网卡文件
  2. php数组的差集与并集
  3. VS Code修改Tab键为空格
  4. PDF文件的数字签名的破解
  5. PY快速备注或者注释快捷键(单行或多行)
  6. linux搭建服务器的配置
  7. c语言argc lt 3,C语言中argc与argv怎么用?为什么我初始化argc时候老是出错??
  8. 红帽Liunx系统管理员认证(RHCSA)实验环境搭建
  9. 移动硬盘数据恢复软件实用技巧
  10. 「米聊」突然复活 | 附下载地址!