Swift_ScrollView _ API详解


GitHub

class ViewController: UIViewController,UIScrollViewDelegate {

    var scrollView = UIScrollView()
var imageView = UIImageView()
var image = UIImage() override func viewDidLoad() {
super.viewDidLoad() self.image = UIImage.init(named: "test")!
self.imageView.image = self.image self.view.backgroundColor = UIColor.green
self.view.addSubview(self.scrollView)// 将ScrollView添加到视图上 let width = self.view.bounds.size.width * 2
let height = self.view.bounds.size.height * 2 self.scrollView.frame = self.view.bounds // 设置scrollView的 frame
self.scrollView.contentSize = CGSize(width:width, height:height) //设置scrollView的 contentSize
self.scrollView.delegate = self // 设置scrollView的 代理 print(self.scrollView.contentOffset) // scrollView左顶点的位置 可设置
print(self.scrollView.contentInset) // scrollView 添加额外的滚动附近区域的内容 可设置
self.scrollView.isDirectionalLockEnabled = true
print(self.scrollView.isDirectionalLockEnabled) // 锁定垂直或水平滚动 可设置
print(self.scrollView.bounces) // scrollView 回弹效果 可设置
print(self.scrollView.alwaysBounceVertical) // 垂直回弹 可设置
print(self.scrollView.alwaysBounceHorizontal) // 水平回弹 可设置
print(self.scrollView.isPagingEnabled) // 分页 可设置
print(self.scrollView.isScrollEnabled) // 滚动 可设置
print(self.scrollView.showsHorizontalScrollIndicator) // 显示水平滚动条
print(self.scrollView.showsVerticalScrollIndicator) // 显示垂直滚动条
print(self.scrollView.scrollIndicatorInsets) // 调整指标insets的内部
print(self.scrollView.indicatorStyle) // black with white border. good against any background
print(self.scrollView.decelerationRate) // 减速速度 //open func setContentOffset(_ contentOffset: CGPoint, animated: Bool) 设置 contentOffset
//open func scrollRectToVisible(_ rect: CGRect, animated: Bool) 这个方法需要传入一个Rect 这个rect可以理解成在scrollview.contentView中frame 调用这个方法就会滚到rect所在的那个区域去
//open func flashScrollIndicators() 短暂地显示滚动指示器 你应该在把滚动视图放在最前端时调用此方法。 /* open var isTracking: Bool { get } // returns YES if user has touched. may not yet have started dragging open var isDragging: Bool { get } // returns YES if user has started scrolling. this may require some time and or distance to move to initiate dragging open var isDecelerating: Bool { get } // returns YES if user isn't dragging (touch up) but scroll view is still moving open var delaysContentTouches: Bool // default is YES. if NO, we immediately call -touchesShouldBegin:withEvent:inContentView:. this has no effect on presses open var canCancelContentTouches: Bool // default is YES. if NO, then once we start tracking, we don't try to drag if the touch moves. this has no effect on presses
*/ //父视图是否可以将消息传递给子视图 yes是将事件传递给子视图 则不滚动 no是不传递则继续滚动
//open func touchesShouldBegin(_ touches: Set<UITouch>, with event: UIEvent?, in view: UIView) -> Bool //父视图是否可以将消息传递给子视图 yes是将事件传递给子视图 则不滚动 no是不传递则继续滚动
//open func touchesShouldCancel(in view: UIView) -> Bool print(self.scrollView.minimumZoomScale) // 最小的变焦比例 可设置
print(self.scrollView.maximumZoomScale) // 最大的变焦比例 可设置
print(self.scrollView.zoomScale) // 当前的变焦比例 //open func setZoomScale(_ scale: CGFloat, animated: Bool) 设置变焦比例
//open func zoom(to rect: CGRect, animated: Bool) print(self.scrollView.bouncesZoom)
print(self.scrollView.isZooming)
print(self.scrollView.isZoomBouncing)
print(self.scrollView.scrollsToTop) //当用户点击状态栏时 是否滚动到顶部 //panGestureRecognizer 拖动手势
//pinchGestureRecognizer 变焦手势 //keyboardDismissMode 键盘消失形式
//refreshControl self.imageView.frame = CGRect(origin:CGPoint(x:0, y:0),size:CGSize(width:width, height:height))
self.scrollView.addSubview(self.imageView) } override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
} /// MARK: UIScrollViewDelegate 代理
func scrollViewDidScroll(_ scrollView: UIScrollView) {
print("scrollViewDidScroll:scrollView 在滚动")
}
func scrollViewDidZoom(_ scrollView: UIScrollView) {
print("scrollViewDidZoom:scrollView 在改变变焦比例")
}
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
print("scrollViewWillBeginDragging:scrollView 即将被拖拽")
}
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
print("scrollViewWillEndDragging:scrollView 即将结束拖拽")
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
print("scrollViewDidEndDragging:scrollView 已经结束拖拽")
}
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
print("scrollViewWillBeginDecelerating:scrollView 即将开始减速")
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
print("scrollViewDidEndDecelerating:scrollView 已经开始减速")
}
func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
print("scrollViewDidEndScrollingAnimation:scrollView 已经结束动画")
}
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
print("viewForZooming:scrollView 返回视图(viewForZooming)")
return nil
}
func scrollViewWillBeginZooming(_ scrollView: UIScrollView, with view: UIView?) {
print("scrollViewWillBeginZooming:scrollView 即将开始变焦")
}
func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) {
print("scrollViewDidEndZooming:scrollView 已经结束变焦")
}
func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -> Bool {
print("scrollViewShouldScrollToTop:scrollView 即将回滚到顶部")
return true
}
func scrollViewDidScrollToTop(_ scrollView: UIScrollView) {
print("scrollViewShouldScrollToTop:scrollView 已经回滚到顶部")
}
}

Swift_ScrollView _ API详解的更多相关文章

  1. 大数据学习笔记——Spark工作机制以及API详解

    Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调 ...

  2. Java 8 Stream API详解--转

    原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java8引入了 ...

  3. jqGrid APi 详解

    jqGrid APi 详解 jqGrid皮肤 从3.5版本开始,jqGrid完全支持jquery UI的theme.我们可以从http://jqueryui.com/themeroller/下载我们所 ...

  4. hibernate学习(2)——api详解对象

    1   Configuration 配置对象 /详解Configuration对象 public class Configuration_test { @Test //Configuration 用户 ...

  5. 网络编程socket基本API详解(转)

    网络编程socket基本API详解   socket socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket ...

  6. 转】Mahout推荐算法API详解

    原博文出自于: http://blog.fens.me/mahout-recommendation-api/ 感谢! Posted: Oct 21, 2013 Tags: itemCFknnMahou ...

  7. dom4j api 详解--XPath 节点详解

    dom4j api 详解 http://871421448.iteye.com/blog/1546955 XPath 节点 http://www.w3school.com.cn/xpath/xpath ...

  8. 百度地图API详解之事件机制,function“闭包”解决for循环和监听器冲突的问题:

    原文:百度地图API详解之事件机制,function"闭包"解决for循环和监听器冲突的问题: 百度地图API详解之事件机制 2011年07月26日 星期二 下午 04:06 和D ...

  9. 【Unity编程】Unity中关于四元数的API详解

    本文为博主原创文章,欢迎转载,请保留出处:http://blog.csdn.net/andrewfan Unity中关于四元数的API详解 Quaternion类 Quaternion(四元数)用于计 ...

随机推荐

  1. Django 模型层之单表操作

    一.单表操作之创建表 在app的models.py文件中创建模型: from django.db import models class Book(models.Model): id = models ...

  2. linux 忘记密码

    密码保存在/etc/shadow文件中 1. root 密码忘记了 1.1 重启进入单人维护模式后, 系统会主动给予root权限的bash接口, 此时再以passwd修改密码即可: 1.2 以Live ...

  3. npm安装指定版本

    今天犯了一个低级错误,在npm安装依赖时,命令写成下了格式 npm i --save iview 2.0.0 要安装指定版本应该使用 npm i --save iview@2.0.0 谨记

  4. UEditor 百度富文本编辑器 .Net实例

    转自 http://download.csdn.net/download/hdsslxl/6740605 1.UEditor 百度富文本编辑器完整版 .Net实例 已解决上传图片问题. 2.内附完整d ...

  5. dialog problem overview

    一 Datasets 1. ubuntu chat corpus: http://daviduthus.org/UCC/2. dialogue  datasets (circa 2005) 二 Tas ...

  6. 【NLP_Stanford课堂】文本分类1

    文本分类实例:分辨垃圾邮件.文章作者识别.作者性别识别.电影评论情感识别(积极或消极).文章主题识别及任何可分类的任务. 一.文本分类问题定义: 输入: 一个文本d 一个固定的类别集合C={c1,c2 ...

  7. c#编程指南(六) 类索引器(Class Indexer)

    类索引器,可以使得你使用数组一样的方式来访问类的数据. 这种访问多见于数组,列表,词典,哈希表的快捷访问. 实际上写法很简单,写成:public T1 this[T2 i] 代码如下: using S ...

  8. Google play billing(Google play 内支付) 下篇

    开篇: 如billing开发文档所说,要在你的应用中实现In-app Billing只需要完成以下几步就可以了. 第一,把你上篇下载的AIDL文件添加到你的工程里,第二,把 <uses-perm ...

  9. QT的编译原理

    https://www.cnblogs.com/findumars/p/4948896.html

  10. QT网络编程Tcp下C/S架构的即时通信

    先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include <QDialog> #in ...