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)
}
}