zoukankan      html  css  js  c++  java
  • Swift 图片浏览器

    class ViewController: UIViewController, UIScrollViewDelegate{

        var scrollView: UIScrollView?

        

        var images: NSMutableArray = NSMutableArray(capacity: 5)

        

        override func viewDidLoad() {

            super.viewDidLoad()

            // 

            self.title = "图片浏览"

            

            self.automaticallyAdjustsScrollViewInsets = false

            

            

            scrollView = UIScrollView(frame: self.view.bounds)

            self.view.addSubview(scrollView!)

            

            //不显示滚动条

            scrollView?.showsHorizontalScrollIndicator = false

            scrollView?.showsVerticalScrollIndicator = false

            //设置分页显示

            scrollView?.pagingEnabled = true

            //设置背景颜色

            scrollView?.backgroundColor = UIColor.redColor()

            

            //设置内容视图大小

            scrollView?.contentSize = CGSize( self.view.frame.size.width * 5, height: self.view.frame.size.height)

            scrollView?.delegate = self

            

            //加载图片

            for index in 0...5 {

                

                let image: UIImage! = UIImage(named: "(index).JPG")

                let photoScrollView:PhotoScrollView! = PhotoScrollView(frame: CGRect(x: self.view.frame.size.width * CGFloat(index), y: 0, self.view.frame.size.width, height: self.view.frame.size.height))

                photoScrollView.tag = 200+index

                photoScrollView.backgroundColor = UIColor(red:0.4, green: 1, blue: 1, alpha: 1)

                photoScrollView.image = image

                self.scrollView?.addSubview(photoScrollView)

            }

            

            

        }

        

        func scrollViewDidEndDecelerating(scrollView: UIScrollView)

        {

            let currentIndex = Int(scrollView.contentOffset.x/self.view.bounds.width)

            if currentIndex != index {

                let photoScrollView = scrollView.viewWithTag(200+index) as! PhotoScrollView;

                //还原比例大小

                photoScrollView.setZoomScale(1, animated: false)

            }

            index = currentIndex

        }

        

        var index:NSInteger = 0

    }

     2.设置img

    class PhotoScrollView: UIScrollView, UIScrollViewDelegate {

        var _image:UIImage!

        var image:UIImage! {

            get {

                return self._image

            }

            set {

                _image = newValue

                let imgView:UIImageView = self.viewWithTag(100) as! UIImageView

                imgView.backgroundColor = UIColor.greenColor()

                imgView.image = image

            }

        }

        override init(frame: CGRect) {

            super.init(frame: frame)

            

            let imgView:UIImageView! = UIImageView(frame: self.bounds)

            imgView.tag = 100

            self.addSubview(imgView)

            

            //取消滑动条

            self.showsHorizontalScrollIndicator = false

            self.showsVerticalScrollIndicator = false

            self.delegate = self

            

            //设置最大、最小缩放比例

            self.maximumZoomScale = 3

            self.minimumZoomScale = 1

            

        }

        required init?(coder aDecoder: NSCoder) {

            super.init(coder: aDecoder)

        }

        

        func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {

            return self.viewWithTag(100)

        }

    }

  • 相关阅读:
    观察者模式(学习笔记17)
    web前端安全编码(模版篇)
    如何获取元素最终使用的css值
    Range在各浏览器下的问题和常见处理办法
    总结cookie的一些问题
    js 设计模式单例模式
    web端不能登录问题汇总
    多域名登录方案思考
    深入分析js中的constructor 和prototype
    由一次代码优化想到的Js 数据类型
  • 原文地址:https://www.cnblogs.com/ZGSmile/p/5726507.html
Copyright © 2011-2022 走看看