ios---scrollview用法总结
一、使用步骤:
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; //水平滚动条
- 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用法总结的更多相关文章
- IOS NSInvocation用法简介
IOS NSInvocation用法简介 2012-10-25 19:59 来源:博客园 作者:csj007523 字号:T|T [摘要]在 iOS中可以直接调用某个对象的消息方式有两种,其中一种就是 ...
- Android ScrollView用法
Android ScrollView用法 今天试着使用了一下Android的滚轮,以下是一个小小的测试,读取测试文件,主要是使用scrollTo函数和getScrollY(),程序点击BUTTON按钮 ...
- ios scrollView代理的用法
// // ZQRViewController.m // 03-图片缩放 // // Created by apple on 17-08-25. // #import "ZQRViewCon ...
- iOS scrollview循环播放加缩放
前些日子一直在研究3d的框架没有时间写博客,不过最后需求改了,也没研究出个啥.这段时间出了新的需求,需要循环播放图片,并且滑动的时候中间的图片有缩放的效果.刚开始想在网上搜索,不过并没有找到合适的de ...
- scrollView用法
在这里记下UIScrollView的用法,一来防止自己忘记,而来再通过这个回顾一下,发现一些新细节. UIScrollView的主要问题在布局上,我现在只用到了内容大小固定额也就是不是tableVie ...
- IOS UIButton用法详解
这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用. //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWi ...
- IOS ScrollView放大缩小点击位置并居中
项目中的一个优化案例,提升用户体验,对地铁线路图点击放大.缩小,并且点击位置居中: 正常ScrollView 我们点击某一点比如屏幕右侧,想要点的位置向左移动到中心位置,很简单只有算出该点位置距中心位 ...
- iOS - NSError用法规范
iphone跬步之--错误信息 NSError 一.获取系统的错误信息 比如移动文件时,获取文件操作错误: NSError *e = nil;[[NSFileManager defaultMana ...
- [ios]scrollView实现移动与缩放
实现滑动 1.在viewDidLoad中对scrollview的contentSize属性赋值 告诉他滑动范围. 实现缩放 1.在storyboard的scrollview的attribute标签中设 ...
- Android(java)学习笔记110:ScrollView用法
理论部分 1.ScrollView和HorizontalScrollView是为控件或者布局添加滚动条 2.上述两个控件只能有一个孩子,但是它并不是传统意义上的容器 3.上述两个控件可以互相嵌套 4. ...
随机推荐
- 浅析 Nginx 网络事件
Nginx 是一个事件驱动的框架,所谓事件主要指的是网络事件,Nginx 每个网络连接会对应两个网络事件,一个读事件一个写事件.在深入了解 Nginx 各种原理及在极端场景下的一些错误场景处理时,需要 ...
- linux下tomcat相关的命令
1.查看Tomcat是否以关闭 ps -ef|grep tomcat 2.直接干掉Tomcat可以使用kill命令,直接杀死Tomcat进程(这个命令用在当你关闭tomcat报错的时候直接杀死进程) ...
- 001 Ceph简介
一.Ceph简介 Red Hat Ceph是一个分布式的数据对象存储,系统设计旨在性能.可靠性和可扩展性上能够提供优秀的存储服务.Ceph分布式存储能够在一个统一的系统中同时提供了对象.块.和文件存储 ...
- 小白进阶之路-python基本运算符
1.算数运算符(+.-.*./.%.**(幂 二次方.三次方).//(地板除,返回商的整数部分) 2.比较运算符(==.!=.<>(不等于).>.<.>=.<=) ...
- Mysql 最全查询语句
基本查询语句及语法: select distinct from where group by having limit 一.单表查询 前期表与数据准备: # 创建一张部门表 create table ...
- 【python小随笔】celery异步任务与调用返回值
s1.py(配置任务文件) from celery import Celery import time my_task = Celery("tasks", broker=" ...
- Django 链接MySQL及数据操作
Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不 ...
- WIN10高清壁纸
下面给大家分享我自己收集的WIN10的壁纸(大家可以存在在自己网盘里) 百度网盘下载 提取码:dsf5
- java线程相关基本方法
java线程中常用的基本方法有wait,notify,notifyAll,sleep,join,yield等. 线程的生命周期一共分为五个部分,分别是:新建(New).就绪(Runnable).运行( ...
- Linux环境下详细讲解部署MySQL5.7版本
说明: 在本人写作这篇安装MySQL文章时,虽然MySQL已经发布到8.0.17版本,但对于行业来说,主力版本依然是5.7版本.目前在Linux环境默认安装时,大部分已经默认安装到8版本了,所以本人特 ...