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() {
        // @H_404_146@1.1设置ScrollView的Frame
        scrollView.frame = CGRectMake(@H_404_146@0,@H_404_146@0,self.view.frame.width,self.view.frame.height)

        // @H_404_146@1.2设置ScrollView的边距
        scrollView.contentInset = UIEdgeInsetsMake(@H_404_146@10,@H_404_146@10,@H_404_146@10)

        // @H_404_146@1.3设置ScrollView的代理
        scrollView.delegate = self

        // @H_404_146@1.4设置ScrollView的最小缩放比例
        scrollView.minimumZoomScale = @H_404_146@0.1

        // @H_404_146@1.5设置ScrollView的最大缩放比例
        scrollView.maximumZoomScale = @H_404_146@1.5

        // @H_404_146@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
    }

3.实现的效果

相关文章

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了...
快,快,快!动动您的小手,分享给更多朋友! 苹果去年推出了全新的编程语言Swift,试图让iOS开发更简单...
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,...
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...