Swift 图片轮播图

每天在公司实习学习,公司需要用Swift,所以开始接触Swift,决定把自己每天学到的知识记录下来,新手初探,欢迎指正和交流

import UIKit

class HomeViewController: UIViewController,UIScrollViewDelegate {

//定义需要的控件
1.UIPageControl
2.UIScrollView

var pageControl = UIPageControl()

var scrollView=UIScrollView()
override func viewDidLoad() {
    super.viewDidLoad()
   self.view.backgroundColor=UIColor.orangeColor()
    self.title="首页"
    //定时器:用于自动切换图片(每隔三秒)
     NSTimer.scheduledTimerWithTimeInterval(3.0, target: self, selector: #selector(HomeViewController.pageNumberChanged(_:)), userInfo: nil, repeats: true)

//ScrollView的初始化
scrollView=UIScrollView(frame:CGRectMake(0, 0, view.bounds.size.width, 200))

    scrollView.backgroundColor=UIColor.blackColor()
    scrollView.showsHorizontalScrollIndicator=false
    scrollView.showsVerticalScrollIndicator=false

    //代理
    scrollView.delegate=self

    creatPageControl()

//在ScrollView上添加三张图片    
    //let imageV=UIImageView(image: UIImage(named: "scroll.jpg"))

    let image1=UIImageView(image: UIImage(named: "scroll.jpg"))
    let image2=UIImageView(image: UIImage(named: "2222.jpg"))

    let image3=UIImageView(image: UIImage(named: "333.jpg"))

//三张图片一次排列到ScrollView上    
    image1.frame=CGRectMake(0, 0, SCREEN_WIDTH, scrollView.frame.size.height)
    image2.frame=CGRectMake(SCREEN_WIDTH, 0, SCREEN_WIDTH, scrollView.frame.size.height)
    image3.frame=CGRectMake( SCREEN_WIDTH*2, 0,  SCREEN_WIDTH, scrollView.frame.size.height)

  //ScrollView可以滑动的内容大小    scrollView.contentSize.width=image1.bounds.size.width*3


    scrollView.contentSize.height=scrollView.bounds.size.height

//是否允许分页
scrollView.pagingEnabled=true

    scrollView.addSubview(image1)
    scrollView.addSubview(image2)
    scrollView.addSubview(image3)



    self.view.addSubview(scrollView)

}


func pageNumberChanged(sender : AnyObject){
    //        判断如果页数为最后一页,就从头开始
    if self.pageControl.currentPage == self.pageControl.numberOfPages - 1 {
        self.pageControl.currentPage = 0
    }
        //        依次往后滚动视图
    else{
        self.pageControl.currentPage += 1
    }

    //        设置图片显示
    let page : CGFloat = (CGFloat)((self.pageControl.currentPage))
    let x = page * (self.scrollView.frame.width)
    self.scrollView.contentOffset = CGPointMake(x, 0);
}

func creatPageControl(){
    //        创建分页控制器
   self.pageControl = UIPageControl(frame: CGRectMake(150, 200, 100, 20))

    //        设置分页的页码数和当前页码
   self.pageControl.numberOfPages = 3;
   self.pageControl.currentPage = 0;

    //        设置选中页码点的颜色和未选中页码点的颜色
    self.pageControl.currentPageIndicatorTintColor = UIColor.blackColor()
    self.pageControl.pageIndicatorTintColor = UIColor.grayColor()

    //        将分页控制器添加到滚动视图中
   self.view.addSubview(self.pageControl)
}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值