Swift 无限轮播YLCycleViewYLMenuViewYLSinglerowView

YLCycleView

Swift无限轮播

如何使用?

Demo运行会报错。请你务必对demo进行 pod install

YLCycleView文件夹拖入你的项目

      let images = ["http://c.hiphotos.baidu.com/image/pic/item/b58f8c5494eef01f50d40bbee5fe9925bd317d8c.jpg", "1", "2", "3", "4"]
      let titles = ["Raindew","无限轮播", "QQ群:511860085", "欢迎加入", "帅的人已经Star"]
      let cycleView = YLCycleView(frame: CGRect(x: 0, y: 100, width: self.view.bounds.width, height: 150), images: images, titles: titles)
      view.addSubview(cycleView)

你可以在把本地图片名称直接放进数组里,也可以放一个URL 为了方便网络图片,我做了这样一个处理,但是同时我需要麻烦你在项目中引入Kingfisher 这个三方

如果你想获取点击事件请设置代理并且遵守它!最后实现代理方法。如果你不需要,忽略它。

   cycleView.delegate = self;
   func  clickedCycleView(_ cycleView : YLCycleView, selectedIndex index: Int) {
      print("点击了第\(index)页")
  }

大多数而言,这个滚动视图都是有一个title的。当然如果你不需要直接这样创建视图:

      let cycleView = YLCycleView(frame: CGRect(x: 0, y: 100, width: self.view.bounds.width, height: 150), images: images)

想要更新数据?

  // MARK: -- reload
    func reload() {
        cycleView.titles = []//可以为空。可以为nil-->此时隐藏标题
        cycleView.images = ["1", "2", "3"]//不要为空,否则没图片了
        //请务必刷新!
        cycleView.reloadData()
    }

重要提醒:如果你使用了导航,那么你必须在使用控制器中设置滚动偏移,复制下面一行代码到你的控制器中

 self.automaticallyAdjustsScrollViewInsets = false

效果图

image

YLMenuView

如何使用?

//类方法创建
      let menuView = YLMenuView.ylMenuView()
      menuView.frame = CGRect(x: 10, y: 320, width: self.view.bounds.width - 20, height: 250)
      menuView.delegate = self
      //你可以给一个URL也可以给一个本地图片
      menuView.imageArray = ["http://tx.haiqq.com/uploads/allimg/150322/021422Lb-10.jpg",
                             "http://img.wzfzl.cn/uploads/allimg/150522/co150522214536-15.jpg",
                             "http://img.wzfzl.cn/uploads/allimg/150119/co150119220K2-18.jpg",
                             "http://uploads.xuexila.com/allimg/1608/704-160Q5100Z6.jpg",
                             "http://tx.haiqq.com/uploads/allimg/150326/1P4511163-9.jpg",
                             "http://tx.haiqq.com/uploads/allimg/150323/15135032M-1.jpg",
                             "http://img.wzfzl.cn/uploads/allimg/150522/co150522214536-15.jpg",
                             "http://img.wzfzl.cn/uploads/allimg/150119/co150119220K2-18.jpg",
                             "http://uploads.xuexila.com/allimg/1608/704-160Q5100Z6.jpg",
                             "http://tx.haiqq.com/uploads/allimg/150326/1P4511163-9.jpg",
                             "http://tx.haiqq.com/uploads/allimg/150323/15135032M-1.jpg",
                             "http://tx.haiqq.com/uploads/allimg/150323/15135032M-1.jpg",
                             "1"
      ]
      menuView.titleArray = ["http", "2345", "345", "uploads", "2345", "allimg", "34545", "uploads", "345", "http", "uploads", "uploads", "uploads"]
      //                menuView.itemsOfPage = 6
      //        menuView.imageViewSize = CGSize(width: 60, height: 60)
      //        menuView.pageControl.pageIndicatorTintColor = .white
      //        menuView.pageControl.currentPageIndicatorTintColor = .darkGray
      view.addSubview(menuView)

MenuView.gif

YLSinglerowView

如何使用?

      let singlerView = YLSinglerowView(frame: CGRect(x: 50, y: 350, width: 200, height: 30), scrollStyle: .up, roundTime: 5, contentSource: ["这是一条重大新闻","吃货节到了钱包准备好了吗","独家福利来就送!"], tagSource: ["新闻", "吃货节", "福利"])
      singlerView.delegate = self
      //更多公开属性自行查找
      //        singlerView.backColor = .darkGray
      //        singlerView.contentTextColor = .purple
      //        singlerView.tagBackgroundColors = [.white,.yellow,.cyan]
      //        singlerView.tagTextColors = [.red,.blue,.black]

      view.addSubview(singlerView)

重要提醒:如果你使用了导航,那么你必须在使用控制器中设置滚动偏移,复制下面一行代码到你的控制器中

 self.automaticallyAdjustsScrollViewInsets = false

点击跳转代理

    //MARK: -- YLSinglerViewDelegate
    func singlerView(_ singlerowView: YLSinglerowView, selectedIndex index: Int) {
        print("点击了第\(index)个数据")
    }

效果scrollStyle: .up(上下左右皆可滚动)

image

如果scrollStyle: .left

image

如果你希望设置更多属性,例如字体背景颜色等。打开上面代码注释

image

项目下载地址

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

JS实现无限分页加载——原理图解

由于网页的执行都是单线程的,在JS执行的过程中,页面会呈现阻塞状态。因此,如果JS处理的数据量过大,过程复杂,可能会造成页面的卡顿。传统的数据展现都以分页的形...

26810
来自专栏云瓣

React之父子组件传递和其它一些要点

react是R系技术栈中最基础同时也是最核心的一环,2年不到获取了62.5k star(截止到目前),足可见其给力程度。下面对一些react日常开发中的注意事项...

3788
来自专栏一“技”之长

iOS好用的第三方侧边栏控件——MMDrawerController

        很多应用程序都采用了侧边栏这样的界面结构,MMDrawerController是一个轻量级的侧边栏抽屉控件,其支持左侧抽屉和右侧抽屉,可以很好的...

792
来自专栏hotqin888的专栏

小程序中搜索文件,阅览pdf,分享文件链接,评论表情符号

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

831
来自专栏哈雷彗星撞地球

iOS 知识小集(Status Bar变换)

iOS 中经常会有需要在某个界面改变状态栏颜色或者某个界面隐藏状态栏的需求。而改变状态栏颜色和控制状态栏显示和隐藏的API,在iOS 的不同版本中也发生了很多变...

742
来自专栏BestSDK

年薪30万的前端面试题,你能答对几道?|附答案

HTML面试题 1.XHTML和HTML有什么区别 HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言 最主要的不同: XHTML 元...

4136
来自专栏猿人谷

Cocoa编程中视图控制器与视图类详解

iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个...

2365
来自专栏IMWeb前端团队

使用HTML和CSS编写无JavaScript的Todo应用

本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 用css实现一个todo应用程序,但不是TodoMVC那样的设...

2167
来自专栏前端说吧

vue - v-model实现自定义样式の多选与单选

来不及研究为什么,我先直接在原来项目上赶紧建了一个test页面,先赶紧实现我的这种设想:

2621
来自专栏前端架构与工程

【翻译】浏览器渲染Rendering那些事:repaint、reflow/relayout、restyle

原文链接:http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/ 有没有被标题中的5个“...

2166

扫码关注云+社区