1,当图片尺寸超过屏幕时,使用UIScrollView可以实现滚动条视图,即手指触摸滚动屏幕方便浏览整个页面。

1
2
3
4
5
6
var scrollView=UIScrollView()
scrollView.frame=self.view.bounds
var imageView=UIImageView(image:UIImage(named:"bigpic"))
scrollView.contentSize=imageView.bounds.size;
scrollView.addSubview(imageView);
self.view.addSubview(scrollView)

2,获取滚动视图移动的x,y坐标
通过scrollView.contentOffset.x与scrollView.contentOffset.y我们可以取到移动的偏移位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import UIKit
 
class ViewController: UIViewController,UIScrollViewDelegate {
     
    var scrollView:UIScrollView!
     
    override func viewDidLoad() {
        super.viewDidLoad()
         
        scrollView=UIScrollView()
        //设置代理
        scrollView.delegate = self
        scrollView.frame=self.view.bounds
        var imageView=UIImageView(image:UIImage(named:"ii"))
        scrollView.contentSize=imageView.bounds.size;
        scrollView.addSubview(imageView);
        self.view.addSubview(scrollView)
    }
     
    //视图滚动中一直触发
    func scrollViewDidScroll(scrollView: UIScrollView) {
        println("x:\(scrollView.contentOffset.x) y:\(scrollView.contentOffset.y)")
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

3,手势放大缩小
要实现放大缩小功能,需要指定UIScrollView的允许缩放最大比例和最小比例(默认都是是1.0)。
同时delegate属性指定一个委托类,委托类要继承UIScrollViewDelegate协议,并在委托类中实现viewForZoomingInScrollView方法。

(注:在模拟器中测试,需要按住option键再拖动内容)

1
2
3
4
5
6
7
8
9
10
11
12
scrollView.minimumZoomScale=0.1 //最小比例
scrollView.maximumZoomScale=3 //最大比例
scrollView.delegate=self
     
func viewForZoomingInScrollView( scrollView: UIScrollView!) -> UIView!{
     for subview : AnyObject in scrollView.subviews {
      if subview.isKindOfClass(UIImageView) {
         return subview as UIView
     }
   }
    return nil
}

Swift - 滚动视图(UIScrollView)的用法的更多相关文章

  1. [转]IOS 学习笔记(8) 滚动视图(UIScrollView)的使用方法

    下面介绍pageControl结合ScrollView实现连续滑动翻页的效果,ScrollView我们在应用开发中经常用到,以g这种翻页效果还是很好看的,如下图所示: 通过这个例子,我们重点学习UIS ...

  2. IOS UI 滚动视图 UIScrollView

    UIScrollView 常用属性 scrollView.maximumZoomScale= 2.0; //  缩放最大比例 scrollView.minimumZoomScale = 0.2;// ...

  3. 滚动视图UIScrollView

    int i; @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super ...

  4. swift:创建滚动视图的图片轮播器

    用swift创建图片轮播器和用OC创建的方式是一样的,都主要用到UIScrollView和UIImageview这两个控件,有几张图片,就将滚动视图的内容区域大小设置为每一张图片的大小乘以张数即可.然 ...

  5. 改良UIScrollView滚动视图

    #define HEIGHT  self.view.frame.size.height #define WIDTH    self.view.frame.size.width @interface V ...

  6. 滚动视图(ScrollView)的功能与用法

    滚动视图ScrollView由FrameLayout派生而出,它就是一个用于为普通组件添加滚动条的组件.ScrollView里最多只能包含一个组件,而ScrollVew的作用就是为该组件添加垂直滚动条 ...

  7. UIScrollView 滚动视图—IOS开发

    转自:http://blog.csdn.net/iukey/article/details/7319314 UIScrollView 类负责所有基于 UIKit 的滚动操作. 一.创建 CGRect  ...

  8. UI基础视图----UIScrollView总结

    UIScrollView是UIKit框架下的很重要的视图类,是UIView的子类.UILabel,UIImageView,UIWebView分别用于展示文字,图片,网页,UILabel通过属性text ...

  9. UIScrollView的用法,属性

    iOS开发学习笔记-UIScrollView的用法 转载地址:http://www.jianshu.com/p/bcaf5cdfaa7e# UIScrollView是用来在屏幕上显示那些在有限区域内放 ...

随机推荐

  1. Java--CyclicBarrier使用简介

    CyclicBarrier介绍 (一)一 个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时 ...

  2. 虚拟化:搭建本地虚拟化环境和安装ubuntu操作系统

    本文介绍如何在本地(windows操作系统)安装虚拟机,并在虚拟机下安装ubuntu操作系统. 一.机器升级 因为是在我的笔记本电脑上操作.首先升级了我的笔记本,买了内存条,将我机器的内存增加到8G, ...

  3. asp.net 中将汉字转换成拼音

    /// <summary> /// 获取汉字的全拼音 /// </summary> /// <param name="x">传汉字的字符串< ...

  4. windows的消息传递--消息盒子(超详细EM_UNDO等消息)

    使用delphi的消息机制可以方便操作后台,其中重要的就是sendmessage()函数.下面讲解一下这个函数 function SendMessage(hWnd: HWND; Msg: UINT;  ...

  5. WCF技术剖析之十三:序列化过程中的已知类型(Known Type)

    原文:WCF技术剖析之十三:序列化过程中的已知类型(Known Type) [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制的节目视频(苏州话) ...

  6. jQuery.localStorage() - jQuery SDK API

    jQuery.localStorage() - jQuery SDK API jQuery.localStorage() From jQuery SDK API   Jump to: navigati ...

  7. C++汉字转拼音(转)

    #include<iostream> #include<string> using namespace std; string findLetter(int nCode); s ...

  8. 【Android】属性动画

    转载请注明出处:http://blog.csdn.net/h28496/44338669 属性动画的原理 通过不断的设置一个View的属性让其出现动画效果.比如,不断地设置一个Button的x值.这个 ...

  9. EasyUI - NumberSpinner 组件

    效果: html代码: <input id="ss" /> JS代码: $(function () { $('#ss').numberspinner({ //属性继承自 ...

  10. fzu 1911 Construct a Matrix(矩阵快速幂+规律)

    题目链接:fzu 1911 Construct a Matrix 题目大意:给出n和m,f[i]为斐波那契数列,s[i]为斐波那契数列前i项的和.r = s[n] % m.构造一个r * r的矩阵,只 ...