美文网首页iOS Developer
用swift写了一个简单图文轮播

用swift写了一个简单图文轮播

作者: 阿汤8阿义 | 来源:发表于2016-04-26 17:21 被阅读270次

//

//GMShufflingView.swift

//GreenMoore

//

//Created by汤义on 16/4/19.

//Copyright © 2016年汤义. All rights reserved.

//

importUIKit

classGMShufflingView:UIView,UIScrollViewDelegate{

privatevarpageControl :UIPageControl?

privatevarpageWH :Int=70

privatevarscrollView :UIScrollView?

privatevarpage :Int?

privatevartimer :NSTimer?

overrideinit(frame:CGRect) {

super.init(frame: frame)

self.backgroundColor=UIColor.redColor()

self.initScrollView()

}

privatefuncinitScrollView() {

ifscrollView==nil{

scrollView=UIScrollView.init(frame:CGRectMake(0,0,SCREEN_WH,self.frame.size.height))

}

scrollView!.delegate=self

self.addSubview(scrollView!)

//设置隐藏横向条

scrollView!.showsVerticalScrollIndicator=false

//设置自动分页

scrollView!.pagingEnabled=true

//图片的宽

letimagW :CGFloat=scrollView!.frame.size.width

//图片高

letimageH :CGFloat=scrollView!.frame.size.height

//图片的Y

letimageY :CGFloat=0

//设置scrollview的滚动范围

letcontentW :CGFloat=5* imagW

scrollView!.contentSize=CGSizeMake(contentW,0)

fortotalCountin0...4{

print(totalCount)

letimageView :UIImageView=UIImageView.init()

letimageX :CGFloat=CGFloat(Float(totalCount) *Float(imagW))

//print("我的数据是多少:%@",imageX)

imageView.frame=CGRectMake(imageX, imageY, imagW, imageH)

//图片名称

letimageName :String="tu_\(totalCount +1)"

imageView.image=UIImage(named:imageName )

scrollView!.showsHorizontalScrollIndicator=false

scrollView!.backgroundColor=UIColor.yellowColor()

scrollView!.addSubview(imageView)

}

ifpageControl==nil{

pageControl=UIPageControl.init(frame:CGRectMake((SCREEN_WH/2) -CGFloat(pageWH),self.frame.size.height-30,CGFloat(pageWH*2),20))

}

pageControl?.numberOfPages=5

self.addSubview(pageControl!)

self.addTimer()

}

funcscrollViewDidScroll(scrollView:UIScrollView) {

letscrollviewW :CGFloat= scrollView.frame.size.width

letx :CGFloat= scrollView.contentOffset.x

//print("x的数据:%@",x)

page=Int((x + scrollviewW) / scrollviewW)

//print("page的数据:%@",page)

pageControl?.currentPage=page! -1

}

functimers() ->Void{

varpage :Int= (self.pageControl?.currentPage)!

ifpage ==4{

page =0

}else{

page +=1

}

letx :CGFloat=CGFloat(page) * (self.scrollView?.frame.size.width)!

UIView.animateWithDuration(1) {

self.scrollView?.contentOffset=CGPointMake(x,0)

}

}

funcscrollViewWillBeginDragging(scrollView:UIScrollView) {

self.removeTimer()

}

funcscrollViewDidEndDragging(scrollView:UIScrollView, willDecelerate decelerate:Bool) {

}

funcaddTimer() ->Void{

self.timer?.invalidate()

timer=NSTimer.scheduledTimerWithTimeInterval(2.0, target:self, selector:#selector(timers), userInfo:nil, repeats:true)

}

//设置定时器

funcremoveTimer() ->Void{

self.timer?.invalidate()

}

requiredinit?(coder aDecoder:NSCoder) {

fatalError("init(coder:) has not been implemented")

}

/*

// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

override func drawRect(rect: CGRect) {

// Drawing code

}

*/

}

相关文章

  • 用swift写了一个简单图文轮播

    // //GMShufflingView.swift //GreenMoore // //Created by汤义...

  • swift首页无限轮播 轻量级

    swift首页轮播 轻量级 易集成 轮播终结者,用swift完成,易于集成使用,下载图片使用了SDWebImage...

  • ios无限轮播图

    一个非常简单但很实用的无限轮播图(swift版本)UICollectionView无限轮播效果已经有很多前辈定制过...

  • swift 3.0 无限轮播图

    我也自己写了一个基于swift3.0 的无限轮播图,自动,手动GitHub: https://github.co...

  • 【iOS】Swift实现图片轮播

    使用Swift简单的封装了一个图片轮播视图,如果有人觉得实用的话可以直接拖入项目中简单调用就可以实现图片轮播。由于...

  • Swift 4.0 轮播图

    笔者这两天运用所学到的swift相关东西,写了一个swift版本的轮播图,一是为了工程需要,二是对swift进行加...

  • 用Swift3写了一个图片轮播View

    ImageCarouselView 是一个用Swift3实现的图片轮播控件 不依赖任何第三方类库 代码简洁,使用简...

  • Swift-UICollectionView无限轮播

    Swift简单的轮播图 效果图 如果有什么问题请大家指正,谢谢! 推荐轮播1 - SDCycleScrollVie...

  • swift之无限轮播图

    无限轮播图是我们开发常用的功能之一,因此,本文就用swift语言简单做一个轮播图,有不足之处还望指正。 废话不多说...

  • swift 4.0 轮播图

    swift 轮播图 1.0 自定义轮播View CarouselMap

网友评论

    本文标题:用swift写了一个简单图文轮播

    本文链接:https://www.haomeiwen.com/subject/ttaqrttx.html