一、使用步骤:
1.添加子组件到scrollview //必要步骤
2.设置clipsToBounds来确定超出范围是否被剪裁 (默认yes)
self.scrolltest.clipsToBounds=YES;
3.设置滚动范围 。 //必要步骤
(这里的滚动范围是设置的contentsize宽高减去scrollview的宽高,所以当contentsize宽高小于等于scrollview的宽高的时候,是不可滚动的)
scrollview.contentSize=CGSizeMake(, )

二、scrollview不可滚动的原因
1.没有正确设置scrollview.contentSize
2..scrollEnabled属性的设置(默认为yes) self.scrolltest.scrollEnabled=NO;
3.userInteractionEnabled属性来设置是否可以和用户交互 self.scrolltest.userInteractionEnabled=NO;
scrollEnabled和userInteractionEnabled的区别:
scrollEnabled只能决定是否能滚动;
userInteractionEnabled 影响滚动 。 事件 已经scrollview子组件的所有事件

三、scrollview基本属性
1.是否有弹簧效果
self.scrollview.bounces=No; (默认是yes)
self.scrollview.alwaysBounceHorizontal //水平
self.scrollview.alwaysBounceVertical //垂直
ps:可不可以滚动和有没有弹簧效果是不想关的
2.是否显示滚动条
showsVerticalScrollIndicator; //垂直滚动条
showsHorizontalScrollIndicator; //水平滚动条

  1. scrollview的子控件 scrollview.subviews
    ps:scrollview的子组件中默认有两个滚动条组件 。
    4.设置内容的偏移量
    scrollview.contentoffset=cgpoinntmake(x,y)
    5.cgpoint 属性的用法
    cgpoint offset=self.scrollview.contentoffset; //第一步取出属性
    offset.x=12; //设置属性
    offset.y=13;
    self.scrollview.contentoffset=offset; //赋值属性
    6.设置内边距
    self.scrollview.contentInset=UIEdgeInsetsMake(10, 20, 30, 40);

四、scrollview代理 (其方法不是必须实现的)
步骤:
1、遵守协议

2.设置代理

3.方法实现

(1) scrollview滚动过程中,自动调用的方法;(惯性滚动也会调用)
-(void)scrollViewDidScroll:(UIScrollView *)scrollView;

(2) scrollview 将要滚动的时候调用
-(void)scrollViewWillBeginDragging:(UIScrollView )scrollView;
(3)scrollview将要停止滚动时,调用
-(void)scrollViewWillEndDragging:(UIScrollView
)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint )targetContentOffset
(4)scrollview 已经停止滚动时,调用
-(void)scrollViewDidEndDragging:(UIScrollView
)scrollView willDecelerate:(BOOL)decelerate;
(5)scrollview滚动减速完毕后,调用 。 (ps:并不是每次拖拽都会有减速情况;所以如果要判断scrollview是否停止滚动,可以用scrollViewDidEndDecelerating,scrollViewDidEndDragging一起使用来判断)
-(void)scrollViewDidEndDecelerating:(UIScrollView )scrollView;
(6)设置放大于缩小
1.设置scrollview的代理
2.实现如下方法
-(UIView
)viewForZoomingInScrollView:(UIScrollView )scrollView{
return self.imageview;
}
3.设置scrollview放大缩小的最大最小值
scroll.maximumZoomScale=2.0;
scroll.minimumZoomScale=0.5;
(7)正在所发过程中调用的方法
-(void)scrollViewDidZoom:(UIScrollview
)scorllview;

五、scrollview . 分页功能
scrollview.pagingEnabled=YES; //默认是no

ios---scrollview用法总结的更多相关文章

  1. IOS NSInvocation用法简介

    IOS NSInvocation用法简介 2012-10-25 19:59 来源:博客园 作者:csj007523 字号:T|T [摘要]在 iOS中可以直接调用某个对象的消息方式有两种,其中一种就是 ...

  2. Android ScrollView用法

    Android ScrollView用法 今天试着使用了一下Android的滚轮,以下是一个小小的测试,读取测试文件,主要是使用scrollTo函数和getScrollY(),程序点击BUTTON按钮 ...

  3. ios scrollView代理的用法

    // // ZQRViewController.m // 03-图片缩放 // // Created by apple on 17-08-25. // #import "ZQRViewCon ...

  4. iOS scrollview循环播放加缩放

    前些日子一直在研究3d的框架没有时间写博客,不过最后需求改了,也没研究出个啥.这段时间出了新的需求,需要循环播放图片,并且滑动的时候中间的图片有缩放的效果.刚开始想在网上搜索,不过并没有找到合适的de ...

  5. scrollView用法

    在这里记下UIScrollView的用法,一来防止自己忘记,而来再通过这个回顾一下,发现一些新细节. UIScrollView的主要问题在布局上,我现在只用到了内容大小固定额也就是不是tableVie ...

  6. IOS UIButton用法详解

    这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用.   //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWi ...

  7. IOS ScrollView放大缩小点击位置并居中

    项目中的一个优化案例,提升用户体验,对地铁线路图点击放大.缩小,并且点击位置居中: 正常ScrollView 我们点击某一点比如屏幕右侧,想要点的位置向左移动到中心位置,很简单只有算出该点位置距中心位 ...

  8. iOS - NSError用法规范

    iphone跬步之--错误信息 NSError   一.获取系统的错误信息 比如移动文件时,获取文件操作错误: NSError *e = nil;[[NSFileManager defaultMana ...

  9. [ios]scrollView实现移动与缩放

    实现滑动 1.在viewDidLoad中对scrollview的contentSize属性赋值 告诉他滑动范围. 实现缩放 1.在storyboard的scrollview的attribute标签中设 ...

  10. Android(java)学习笔记110:ScrollView用法

    理论部分 1.ScrollView和HorizontalScrollView是为控件或者布局添加滚动条 2.上述两个控件只能有一个孩子,但是它并不是传统意义上的容器 3.上述两个控件可以互相嵌套 4. ...

随机推荐

  1. 010.MFC_Progress

    一.建立名为processCtrl的MFC工程,添加Progress Control 和 button控件.修改button Caption属性为start,ID属性为IDC_BTN_START 为进 ...

  2. 本地安装配置Gradle及IDEA使用本地Gradle

    一.下载Gradle   下载地址:http://services.gradle.org/distributions/   下载版本的bin.zip 二.配置环境变量 三.验证   在cmd模式下查看 ...

  3. 关于在vuejs中动态加载不确定数量和内容的组件的解决方案

    在做一个门户项目的时候,客户要求需要进行私人化定制,每个人进入首页的时候可以自定义首页显示的版块 要在4.50个组件中显示随机N个组件按照每个人选定的顺序排列.需求说完了,接下来说说解决方案: htm ...

  4. 我的 2019 年 Python 文章榜单

    现在是 2020 年的第一天,我相信从昨天开始,各位的信息流里肯定充斥了各式各样的年度盘点/回顾/总结/记录之类的内容.虽然来得稍晚了,但我还是想给诸位送上这一篇文章. 我将在本文中列出自己于 201 ...

  5. ConcurrentHashMap 原理解析

    为什么要用ConcurrentHashMap HashMap线程不安全,而Hashtable是线程安全,但是它使用了synchronized进行方法同步,插入.读取数据都使用了synchronized ...

  6. $CH5302$ 金字塔 区间$DP$/计数类$DP$

    CH Sol f[l][r]表示l到r这段区间对应的金字塔结构种数 发现是f[l][r]是可以由比它小的区间推出来的 比如已知f[l+1][k],f[k+1][r],不难想到f[l][r]+=f[l+ ...

  7. 开发工具篇:JAVA和IntelliJ IDEA相恋

    开发工具篇:JAVA和IntelliJ IDEA相恋 idea是什么? IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之 ...

  8. 「学习笔记」动态规划 I『初识DP』

    写在前面 注意:此文章仅供参考,如发现有误请及时告知. 更新日期:2018/3/16,2018/12/03 动态规划介绍 动态规划,简称DP(Dynamic Programming) 简介1 简介2 ...

  9. 你的java服务挂了吗

    问题背景 最近测试环境服务总是崩溃,运维小哥全部重启后还是崩溃,查看了服务运行情况占用内存确实挺高的,看来是时候优化一波jvm参数了. 优化前 top $(ps -e | grep java | aw ...

  10. linux搭建简单的web服务器

    主要想法是:使用虚拟机的Ubuntu系统搭建http服务器,然后在window的浏览器上测试 1.先测试windows和虚拟机上的ubuntu能否相互ping通 2.下载http.tar.gz并拷贝到 ...