一、使用步骤:
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. Excel单元格的日常操作

    通过右键选择插入来移动单元格 灵活的运用"整行" 与 "整列" 选中区域之后 通过点击区域边框进行移动 按住shift之后框会变成线 更容易拖动 按住ctrl拖 ...

  2. 【他山之石】mysql编码问题总结

    有些问题可能比较基础,但是没有经过系统学习还是可能会出错,记录下. 这次是mysql的编码问题. 背景是部署新的测试环境,给了一台服务器还有在另一个环境下的mysql,配置过程中发现mysql编码有问 ...

  3. Kerrigan:配置中心管理UI的实现思路和技术细节

    去年写过一篇文章『中小团队落地配置中心详解』,介绍了我们借助etcd+confd实现的配置中心方案,这是一个对运维友好,与开发解耦的极佳方案,经过了一年多的实践也确实帮我们解决了配置文件无版本.难回滚 ...

  4. $vjudge$联赛专题训练三做题记录

    $A$ $B$ $C$ $D$ $E$ 总感觉做过的亚子,,,$QwQ$ 首先发现到达每个点所需要的操作一和操作二的次数都是可以求出来的?考虑先求出总移动数,然后按总移动数排序. 然后到达某点的方案数 ...

  5. 前端模块化——彻底搞懂AMD、CMD、ESM和CommonJS

    我们知道,在NodeJS之前,由于没有过于复杂的开发场景,前端是不存在模块化的,后端才有模块化.NodeJS诞生之后,它使用CommonJS的模块化规范.从此,js模块化开始快速发展. 模块化的开发方 ...

  6. ad域-iis

    环境准备: 1. win server 服务器安装完成 2.配置主机名 3.配置静态ip 安装ad域和iis 重启服务器 密码记住!!! 点击安装 把服务器的NDS设置成本机ip 重启完成 注意:ad ...

  7. Flask 作者 Armin Ronacher:我不觉得有异步压力

    英文 | I'm not feeling the async pressure[1] 原作 | Armin Ronacher,2020.01.01 译者 | 豌豆花下猫@Python猫 声明 :本翻译 ...

  8. 观察者模式的应用:Winform窗体之间传值

    观察者模式的应用:Winform窗体传值 观察者模式的概念: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新. 今天我们就学着用一下这个观察者模式,先想象 ...

  9. PHP实现取得HTTP请求的原文【转】

    本文实例讲述了PHP实现取得HTTP请求的原文的方法,具体步骤如下: 1. 取得请求行:Method.URI.协议 可以从超级变量$_SERVER中获得,三个变量的值如下: $_SERVER['REQ ...

  10. 使用java做一个能赚钱的微信群聊机器人(2020年基于PC端协议最新可用版)

    前言 微信群机器人,主要用来管理群聊,提供类似天气查询.点歌.机器人聊天等用途. 由于微信将web端的协议封杀后,很多基于http协议的群聊机器人都失效了,所以这里使用基于PC端协议的插件来实现. 声 ...