Objective-C中的UIScrollView
一、 基本使用
1. 作用
UIScrollView可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看
2. 常见属性
CGSizecontentSize:设置UIScrollView的滚动范围
CGPointcontentOffset :UIScrollView当前滚动的位置
UIEdgeInsetscontentInset :这个属性可以在四周增加滚动范围
3. 其他属性
BOOL bounces 是否有弹簧效果
BOOL scrollEnabled 是否能滚动
BOOLshowsHorizontalScrollIndicator 是否显示水平方向的滚动条
BOOLshowsVerticalScrollIndicator 是否显示垂直方向的滚动条
UIScrollViewIndicatorStyleindicatorStyle 设定滚动条的样式
BOOL dragging 是否正在被拖拽
BOOL tracking 当touch后还没有拖动的时候值是YES,否则NO
BOOL decelerating 是否正在减速
BOOL zooming 是否正在缩放
二、 手势缩放
1. 设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象
2. 设置minimumZoomScale :缩小的最小比例
3. 设置maximumZoomScale :放大的最大比例
4. 让代理对象实现下面的方法,返回需要缩放的视图控件
- (UIView *)viewForZoomingInScrollView:(UIScrollView*)scrollView
- 跟缩放相关的常用方法还有
- 正在缩放的时候调用
-(void)scrollViewDidZoom:(UIScrollView*)scrollView
- 缩放完毕的时候调用
-(void)scrollViewDidEndZooming:(UIScrollView*)scrollView withView:(UIView *)view atScale:(float)scale
三、 分页效果
1 设置pagingEnabled=YES即可,UIScrollView会被分割成多个独立页面,用户的滚动体验则变成 了页面翻转
2 一般会配合UIPageControl增强分页效果,UIPageControl常用属性:
NSInteger numberOfPages : 总页数
NSInteger currentPage : 当前的页码
BOOL hidesForSinglePage : 当只有一页的时候,是否要隐藏视图
3 监听UIPageControl的页面改变:
// 添加监听器
[pageControl addTarget:self action:@selector(pageChange:) forControlEvents:UIControlEventValueChanged];
// 监听方法
- (void)pageChange:(UIPageControl*)pageControl { }
转载于:https://blog.51cto.com/8656996/1368899
Objective-C中的UIScrollView相关推荐
- iOS中的UIScrollView(滑动视图)
2019独角兽企业重金招聘Python工程师标准>>> UIScrollView 可以滑动的视图 #import "ViewController.h"@inte ...
- 如何在 AutoLayout 中使用 UIScrollView (多个ContentView)
http://codehappily.wordpress.com/2013/11/14/iOS-how-to-use-uiscrollview-with-autolayout-pure-autolay ...
- Objective C 中的nil,Nil,NULL和NSNull理解
kenyo网友的原创说法是:做IOS开发的估计都对Objective-C的内存管理机制很头疼,一不小心程序就会出内存泄露,我也不例外,前几天被指针的置nil与release给搞惨了,今和大家详细解说一 ...
- Objective C中@protected等关键字概述
关于变量的作用域 @protected -Methods defined in the class and any subclasses can directly access the instanc ...
- 如何控制修改UIWebView中的UIScrollView
UIWebView的唯一一个subview就是UIScrollView,不过苹果并没有提供直接的访问方式给scrollview,因此当你直接这么使用scrollview的时候 uiwebview.sc ...
- objective c中的nil,Nil
nil用法 Objective-C中nil nil nil和C语言的NULL相同,在objc/objc.h中定义.nil表示一个Objctive-C对象,这个对象的指针指向空(没有东西就是空). Ni ...
- 如何在Objective C中声明Block?
本文翻译自http://fuckingblocksyntax.com/ 作为局部变量: returnType(^blockName)(parameterTypes) = ^returnType(par ...
- 在Objective C中定义私有的成员变量
使用了LLVM以后,终于可以定义私有的成员变量了. @interface RadioViewController () { @privateUIBackgroundTaskIdentifier tas ...
- Objective中调用Swift代码
原创Blog,转载请注明出处 http://blog.csdn.net/hello_hwc 步骤比较简单: 1.在Objective C工程中,创建新文件(command+N),选择Swift文件 2 ...
最新文章
- SAP MM 采购申请中的物料组字段改成Optional
- Matlab | Matlab从入门到放弃(11)——基于Matlab的矩阵分解、幂和指数
- dp入门 专题记录 2017-7-26
- 一文整理Docker【Docker使用(更新中)】
- android studio下NDK开发
- NOIP2018洛谷P5021:修建赛道
- css样式中如何设置中文字体?
- go语言一天入门(上)
- 极光:2021年移动互联网母婴亲子行业研究报告
- 电竞+区块链,玩家的4大入局方式
- 北京国际大数据交易所成立,采用区块链技术分离数据所有权
- 如何从视频中删除声音?
- 位 bit、字节 B Byte、M兆、MB
- 纯js实现俄罗斯方块详解与源码
- c++超级简单的计算器
- Android 编译错误:CreateProcess error=206, 文件名或扩展名太长。
- java集成企业微信完成授权登录
- Unity学习笔记:个人学习项目《疯狂天才埃德加》纠错文档
- 企业虚拟服务器管理,中小企业虚拟化解决方案-VMware vSphere 6.5-日常管理入口v0.0.1...
- LINUX 和ubu 分别设置Ip