UIKit框架-高级控件Swift版本: 1.UIScrollView方法/属性详解
在前面, 我们把UIKit里面的四大基础控件都了解了遍, 基本上常用的属性都列出来了, 而不常用的方法或者属性就有待大家自行去探究了, 现在让我们继续来学习UIKit的控件:
1.UIScrollView的常用属性/方法
常用属性
var contentOffset: CGPoint // 设置内容的中心点, 默认是0
var contentSize: CGSize // 设置内容的宽高, 默认是0
var contentInset: UIEdgeInsets // 设置UIScrollView的边距, 默认是0
var pagingEnabled: Bool // 设置UIScrollView是否可以翻页, 默认是false
var scrollEnabled: Bool // 设置UIScrollView是否可用, 默认是true
var showsHorizontalScrollIndicator: Bool // 设置UIScrollView的水平滚动, 默认是true
var showsVerticalScrollIndicator: Bool // 设置UIScrollView的垂直滚动, 默认是true
var scrollIndicatorInsets: UIEdgeInsets // 设置UIScrollView滚动条显示的位置, 默认是0
var minimumZoomScale: CGFloat // 设置最小的缩放比例, 默认是1.0
var maximumZoomScale: CGFloat // 设置最大的缩放比例, 默认是1.0
var scrollsToTop: Bool // 设置点击状态栏就回到ScrollView的最顶部, 默认是true
var bouncesZoom: Bool // 设置缩放视图时是否有弹簧效果, 默认是true
var bounces: Bool // 设置ScrollView是否滚动时是否有弹簧效果, 默认是true
常用方法
// 拖拽视图时调用
optional func scrollViewDidScroll(scrollView: UIScrollView)
// 刚开始拖拽视图的时候调用
optional func scrollViewWillBeginDragging(scrollView: UIScrollView)
// 拖拽停止的时候调用
optional func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool)
// 当视图滚动速度开始减慢的时候调用
optional func scrollViewWillBeginDecelerating(scrollView: UIScrollView)
//当拖拽的视图完全停下来后才调用
optional func scrollViewDidEndDecelerating(scrollView: UIScrollView)
//当ScrollView的动画执行完之后才调用
optional func scrollViewDidEndScrollingAnimation(scrollView: UIScrollView)
// 设置视图的比例放大或者缩小
optional func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView?
//当完成比例放大或者缩小的时候调用
optional func scrollViewDidEndZooming(scrollView: UIScrollView, withView view: UIView!, atScale scale: CGFloat)
//是否可以点击状态栏回到最顶部, 默认是true
optional func scrollViewShouldScrollToTop(scrollView: UIScrollView) -> Bool
// 当点击状态栏回到顶部的时候才调用
optional func scrollViewDidScrollToTop(scrollView: UIScrollView)
2.代码实现
实例化UIScrollView, UIImageView, UIImage
class ViewController: UIViewController, UIScrollViewDelegate {
var scrollView = UIScrollView()
var imageView = UIImageView()
var imageURL = UIImage()
}
设置UIScrollView
func myScrollView() {
// 1.1设置ScrollView的Frame
scrollView.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height)
// 1.2设置ScrollView的边距
scrollView.contentInset = UIEdgeInsetsMake(10, 10, 10, 10)
// 1.3设置ScrollView的代理
scrollView.delegate = self
// 1.4设置ScrollView的最小缩放比例
scrollView.minimumZoomScale = 0.1
// 1.5设置ScrollView的最大缩放比例
scrollView.maximumZoomScale = 1.5
// 1.6添加到父视图
self.view.addSubview(scrollView)
}
设置UIImageView
func myImageView() {
// 2.1设置ImageView的图片
imageURL = UIImage(named: "image_landscape3.jpg")!
// 2.2设置添加图片的方法以及对象
self.setImage(imageURL)
// 2.3添加到ScrollView上
scrollView.addSubview(imageView)
}
设置UIImage
func setImage (image: UIImage) {
// 3.1设置image对象
imageURL = image
// 3.2设置imageView的image内容
imageView.image = image
// 3.3设置imageView根据image自动调整大小
imageView.sizeToFit()
// 3.4设置ScrollView的内容大小为image的大小
scrollView.contentSize = image.size
}