iOS UIPageControl UIStepper使用方法

来源:互联网 发布:复杂网络仿真软件 编辑:程序博客网 时间:2024/05/12 04:47

本节再来两个控件:UIPageControl , UIStepper


import UIKit


class ViewController: UIViewController {

    

    var pages:UIPageControl!

    var step:UIStepper!

    

    overridefunc viewDidLoad() {

        super.viewDidLoad()

        view.backgroundColor = UIColor.white

        

        pages = UIPageControl(frame: CGRect(x: 100, y: view.bounds.height-40, width:200, height: 20))

//页数与当前位置

        pages.numberOfPages = 6

        pages.currentPage = 2

//当前点的颜色

        pages.currentPageIndicatorTintColor = UIColor.black

//所有点的颜色

        pages.pageIndicatorTintColor = UIColor.green

//一个点就隐藏点

        pages.hidesForSinglePage = true

        

        //不加手势的话,只能通过点下面的6个小点切换页面。下面加手势,滑动切换

        let left = UISwipeGestureRecognizer(target:self, action: #selector(leftSwipe(_:)))

        let right = UISwipeGestureRecognizer(target:self, action: #selector(rightSwipe))

        left.numberOfTouchesRequired = 1

        left.direction = .left

        right.numberOfTouchesRequired = 1

        right.direction = .right

        view.addGestureRecognizer(left)

        view.addGestureRecognizer(right)

       

        view.addSubview(pages)

        


        step = UIStepper(frame: CGRect(x: 100, y:100, width: 200, height: 30))

        step.stepValue = 6;//点一下value变化量

        step.addTarget(self, action:#selector(stepping), for: .valueChanged)

        step.maximumValue = 254

        step.wraps = false;//值最大后回到最小再继续

        step.autorepeat = true;//按住按钮值一直变

        step.isContinuous = true;//按住按钮,autorepeat时值在默默地变,但若false则松手时候才触发事件


        //分隔线的image

        //step.setDividerImage(<#T##image: UIImage?##UIImage?#>, forLeftSegmentState: <#T##UIControlState#>, rightSegmentState: <#T##UIControlState#>)

        //减少与增加按钮的image

        //step.setDecrementImage(<#T##image: UIImage?##UIImage?#>, for: <#T##UIControlState#>)

        //step.setIncrementImage(<#T##image: UIImage?##UIImage?#>, for: <#T##UIControlState#>)

       

        view.addSubview(step)

        

        

        

    }

    func stepping(step:UIStepper){

        let v:CGFloat = CGFloat(step.value)

        print(v)

         step.backgroundColor = UIColor.init(red: v, green:255-v, blue: 125+v/2, alpha:1)

    }

    func leftSwipe(_ swiper:UISwipeGestureRecognizer){

        

//        如果到最后一页了再滑就进主程序

        let num = pages.currentPage  //从零开始

        if(num+2<=pages.numberOfPages){

            pages.currentPage = num+1

            //这里改变你的要呈现的视图

            

       

        }elseif(num+1 == pages.numberOfPages){

            //呈现出你的主程序界面

            //self.present(ViewController(), animated: true, completion: nil)

        }

    }

    func rightSwipe(){

        let num = pages.currentPage

        if num !=0{

            pages.currentPage = num-1

        }

    }

}





0 0
原创粉丝点击