IOS中UIScrollView的contentSize、contentOffset和contentInsert属性

IOS中,UIScrollView继承于UIView,扩展了滚动,缩放功能,双协议,其中最常用的UITableview就是继承于该类。

UIScrollView中的frame、bounds、contentSize、contentOffset和contentInset属性,这几个属性一直都容易混淆,自己小总结一下:

frame是基于superView的坐标系创建的,表示该滚动视图在其父视图中的位置

bounds属性是基于该滚动视图本身的坐标系的,主要用于确定其子视图在该滚动视图上的位置,当bounds属性发生变化是,其子视图会发生移动(在滚动视图上不常用)

contentSize是UIScrollerView可以滚动的视图。frame表示滚动视图本身的大小,而contentSize表示滚动视图上可以滚动的大小,当contentSize小于frame时,不可以滚动,而当contentSize大于frame时,可以滚动。

contentOffset是UIScrollView当前显示区域的顶点相对于frame顶点的偏移量,其中bounds是坐标系发生变化,contentOffset是坐标系不发生变化,而坐标发生变化

contentInset的API文档的解释是"内容视图嵌入到封闭的滚动视图的距离"。可以理解为内容视图的上下左右四个边扩展出去的大小。contentInset的单位是UIEdgeInsets,默认值为UIEdgeInsetsZero,也就是没有扩展的边。下面解释一下UIEdgeInsets,它是一个结构体,定义如下:

  1. typedef struct {
  2. CGFloat top, left, bottom, right;
  3. }

分别代表着上边界,左边界,底边界,右边界,扩展出去的值。

借用一下Stanford大学iPhone教程中的一张图

时间: 2024-08-25 11:39:30

IOS中UIScrollView的contentSize、contentOffset和contentInsert属性的相关文章

IOS中UIScrollView的contentSize、contentOffset和contentInset属性

IOS中,UIScrollView是可以滚动的视图,其中最常用的UITableView就是继承了UIScrollView. 跟所有的view一样,UIScrollView有一个frame属 性,同时,UIScrollView还具有contentSize.contentOffset和contentInset属性.我在学习中,就觉得其中 contentSize和contentOffset相对比较好理解,对contentInset就有点不太好理解.下面具体解释一下. contentSize是UIScr

iOS开发之 UIScrollView的frame、contentSize、contentOffset和contentInset属性

ios中下拉图片变大效果 http://blog.csdn.net/mad2man/article/details/14169197 IOS中UIScrollView的frame.contentSize.contentOffset和contentInset属性 (1) frame            :是指scrollview的可视范围(可看见的区域). (2)contentsize    :是其滚动范围.UIScrollView所有内容的尺?寸,也就是告诉 它滚动的范围(能滚多远,就滚多远)

iOS XIB使用UIScrollView 设置 contentsize 无效

一问题描述 今天做个需求,后台获取多个对象信息,如果某个对象为nil,则不会显示,当有多个返回对象的适合,界面不能容纳所有的元素,废话这么多,总之是在xib 中使用 UIScrollView,但是问题是.m文件中设置contentsize 无效. 二 问题分析     xib 中勾选了autolayout选项,在autolayout下,iOS计算UIScrollView的contentsize的机制是略有不同.在autolayout中,会在viewDidAppear之前根据subview的con

IOS 05 UIScrollView介绍 图片轮播器

移动设备的屏幕?大?小是极其有限的,因此直接展?示在?用户眼前的内容也相当有限 当展?示的内容较多,超出?一个屏幕时,?用户可通过滚动?手势来查看屏幕以外的内容 普通的UIView不具备滚动功能,不能显?示过多的内容 UIScrollView是?一个能够滚动的视图控件,可以?用来展?示?大量的内容,并且可以通过滚 动查看所有的内容 在IOS中UIScrollView这个控件还是比较常用和重要的. 很多时候,我们想在UIScrollView正在滚动 或 滚动到某个位置 或者 停?止滚动 时做?一些

iOS开发frame, contentSize, contentOffset, contentInset 区别联系浅析

1. 概述 iOS开发中,必然会涉及到布局相关问题,frame,bounds,contenSize,contentOffset,contentInset这几个布局相关概念让许多初学者感到困惑.虽然初步了解这几个概念,即可完成大部分界面的布局,但布局较复杂页面时就有点力不从心了. 2. 概念解析 2.1 frame frame是一个矩形区域,反映当前view相对于它的superview的位置关系,左上角的点(frame.origin)的x,y轴值确定了矩形区域的位置(frame.origin.x,

IOS中的UIScrollView

要引用UIScrollView 首先要遵循UIScrollViewDelegate协议 然后重写 //1.拖拽方法 -(void)scrollViewDidScroll:(UIScrollView *)scrollView; //2.即将开始拖拽的方法 -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView; //3.拖拽完毕的方法 -(void)scrollViewDidEndDragging:(UIScrolView *)

iOS 关于滚动视图contentSize、contentOffset、contentInset 的整理

iOS 关于滚动视图contentSize.contentOffset.contentInset 的整理 contentSize 是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍. contentOffset 是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是

iOS学习--UIScrollView 原理详解

iOS学习--UIScrollView 原理详解 http://blog.csdn.net/yanfangjin/article/details/7898189 ScrollView UIScrollView UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容. Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应.其中需要注意的子类是UITableView以及UITextView(用来显示大量的文字).

iOS程序-UIScrollView的基本使用

iOS程序-UIScrollView的基本使用 UIScrollView 滚动视图 (实例) 博客分类: Phone / IOS / Objective-C / Swift UIScrollView 类负责所有基于 UIKit 的滚动操作. 一.创建 C代码   CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ; UIScrollView* scrollView = [ [UIScrollView alloc ] init