文档章节

UIScrollView的判断位置的属性如下:

Align
 Align
发布于 2016/01/04 17:07
字数 322
阅读 45
收藏 1
  • contentSize:CGSize类型,scrollview可以滑动的区域,例如,一个view的frame为 (0,0,320,480),而scrollview的contentSize为(320,1080),则表示scrollView的垂直滑动区域为整个 屏幕的3倍。

  • contentView:scrollview的内容显示区域,一般情况下和scrollview的contentsize保持一致。

  • contentOffset:CGPoint类型,它表示scrollView当前的显示区域顶点相对于frame顶点的偏移量,如在上面的例子中,如果某一时刻contentOffset的值为(0,960),就表示scrollview的偏移量为(0,960)。

  • contentInset:UIEdgeInsets类型,srollciew的contentView的顶点相对于scrollview的位置,它标识了contenView开始显示的位置,这个属性和css以及xaml中的margin属性类似。

知道了上面几个概念后,要判断srollciew是否滑到底部就容易多了,代码如下:

    CGPoint offset = scrollView.contentOffset;

    CGRect bounds = scrollView.bounds;

    CGSize size = scrollView.contentSize;

    UIEdgeInsets inset = scrollView.contentInset;

    CGFloat currentOffset = offset.y + bounds.size.height – inset.bottom;

    CGFloat maximumOffset = size.height;

当currentOffset与maximumOffset的值相等时,即说明scrollview已经滑到底部了。

同理,还可以根具上述两个偏移量的差值实现当滑到某一区域时,做点其它什么事,比如当滑到离底部还有50个像素的时候,在后台加载更多的数据:

    if((maximumOffset – currentOffset)<50.0)

     NSLog(@”LoadMore…”);


© 著作权归作者所有

Align
粉丝 11
博文 65
码字总数 71695
作品 0
昌平
高级程序员
私信 提问
UIScrollView 和UIPageControl 实现app启动滑动图

一、使用NSUserDefaults 判断滑动图有没有出现过,加载滑动图 NSUserDefaults 简介: NSUserDefaults可以将数据永久的保存在手机中,他是一个单例,用起来很方便,所以很适合用于保存简单的数...

lady-奕奕
2014/07/23
0
4
UIScrollView 和UIPageControl 实现app启动滑动图

一、使用NSUserDefaults 判断滑动图有没有出现过,加载滑动图 二、初始化 UIScrollView 和 UIPageControl 为启动滑动图做准备 三、实现UIScrollView的代理方法 四、从屏幕上移除UIScrollVie...

蝴蝶庆庆
2016/05/03
33
0
UIScrollView 类常用属性方法

一、创建 [java] view plaincopy CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ; UIScrollView* scrollView = [ [UIScrollView alloc ] initWithFrame:bounds ]; 当你创建......

carsonwyzc
2015/02/02
2.6K
2
UI 基础----UIScrollView 的基本属性使用以及代理的使用方法

咱们先来介绍几个 UIScrollView 的基本属性 •@property(nonatomic) CGPoint contentOffset; 这个属性用来表示UIScrollView滚动的位置 •@property(nonatomic) CGSize contentSize; 这个属性...

周绪刚
2016/01/03
56
0
解释automaticallyAdjustsScrollViewInsets,extendedLayoutIncludesOpaqueBars,edgesForExtendedLayout的不同

从iOS7开始,控制器就默认添加了全屏属性,因此,你就有更多的方式去操作view的布局,具体用到的属性包括: edgesForExtendedLayout automaticallyAdjustsScrollViewInsets extendedLayoutIn...

CoderDancer
2016/12/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EasyExcel

<!-- alibaba EasyExcel escel导入导出 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.0.0-RELEASE</version> </dependency>......

少年已不再年少
31分钟前
2
0
解决:warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

代码 static int CheckOneReg(uint8_t busNo, char *title, int32_t addr, uint32_t *val, BOOL isPrintfNL, ErrMsg_t const *pMsg)res |= CheckOneReg(busNo,"fwVer:", HALREG_FW_VER, ......

SamXIAO
31分钟前
1
0
jenkins搭建全流程

安装环境   操作系统:linux   软件:jdk 8   软件:tomcat(apache-tomcat-7.0.90) 软件:jenkins 软件:maven 软件:git 1.1安装步骤 1.1.1安装jdk 由于Jenkins是基于Java开发的,安...

shzwork
38分钟前
1
0
Java的战争

本文来自微信公众号: 金捷幡(ID:jin-jiefan) ,作者:金捷幡,封面:拉里·埃里森(东方IC) 2019年5月,彻底撕破脸的特朗普掀起对华为的战争,谷歌被迫吊销了华为的Android授权。开源软...

Java领航员
今天
9
0
超详细的LM3414MRX/NOPB规格参数介绍就在这里

超详细的LM3414MRX/NOPB规格参数介绍就在这里 描述 LM3414和LM3414MRX/NOPB是具有1-A 60 W(1)共阳极功能的恒流降压LED驱动器。它们适用于驱动单串3-W HBLED,效率高达96%。它们可接受4.5...

不能吃肉的仙女
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部