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. HTML5 上播放视频格式兼容性

    视频格式 当前,video 元素支持三种视频格式: 格式 IE Firefox Opera Chrome Safari Ogg No 3.5+ 10.5+ 5.0+ No MPEG 4 9.0+ No ...

  2. Android --Vibrator--震动服务

    1.取得震动服务的句柄 vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);或者vibrator = (Vibrator)getAppli ...

  3. BZOJ 2875: [Noi2012]随机数生成器( 矩阵快速幂 )

    矩阵快速幂...+快速乘就OK了 ----------------------------------------------------------------------------------- ...

  4. java--随机数的产生

    随机数产生的三种方法: 1.system.currentTimeMillis() public class Demo1{ public static void main(String[] args) ...

  5. 高级UIKit-09(TCPSocket发送文件、上传和下载)

    [day1101_SocketSendFile]:发送文件到服务端 发送文件需要在该文件上拼接消息头,比如类型,文件名,文件大小 // 服务端 - (void)viewDidLoad { [super ...

  6. 简单的方式实现javascript 小数取整

    JS: function truncateNumber(n){ return n|0; } 測试: console.log(truncateNumber(12.345)); 浏览器打印出12

  7. tomcat下部署activemq(转)

    转自:http://marshal.easymorse.com/archives/1414 activemq可以单独部署和执行,比如类似ActiveMQ的最简单应用中提到的安装和执行方式.但是有时候需 ...

  8. 【REDO】删除REDO LOG重做日志组后需要手工删除对应的日志文件(转)

    为保证重新创建的日志组成员可以成功创建,我们在删除日志组后需要手工删除对应的日志文件. 1.查看数据库当前REDO LOG日志相关信息1)查看日志组信息sys@ora10g> select * ...

  9. ARM过程调用标准---APCS简单介绍

    介绍 APCS,ARM 过程调用标准(ARM Procedure Call Standard),提供了紧凑的编写例程的一种机制,定义的例程能够与其它例程交织在一起.最显著的一点是对这些例程来自哪里没有 ...

  10. java基本数据类型转换成byte[]数组

    import java.io.UnsupportedEncodingException;  public class ConToByte {      /**     * double转换byte   ...