首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

contentInset,contentOffset等概念的理解

(参照点是:父亲的坐标系统) bounds:该view在本地坐标系统中的位置大小。...(参照点是:父亲的坐标系统) origin是frame或bounds的左上角坐标 contentInsetcontentOffset contentSize是contentView的大小 contentInset...是scrollview当前显示区域顶点相对于frame顶点的偏移量 假如有一个ScrollView(scrollViewA),设置scrollViewA的contentInset为UIEdgeInsets...为(-20,-10) 在scrollViewA的内容滚动时contentSize是不变的 contentInset也是不变的 变得只是contentOffsetbounds 并且contentOffset...bounds的值是一样的 上拉y变大,下拉y变小 左拉x变大,右拉x变小 可以这样想以scrollViewA的左上角为坐标系原点y轴向上为正,x轴向左为正,那么contentOffsetbounds

1K10
您找到你想要的搜索结果了吗?
是的
没有找到

UIScrollView进阶技巧

今天主要讲三个跟交互有关的效果(稍微有点标题党啊,其实也没有多进阶……),也不是直接用的UIScrollView,而是它的子类UITableViewUIWebView。...列表上面是三个栏目按钮轮播图片,向上滚动时,按钮图片一起向上,按钮周边区域颜色渐变,然后在到指定位置时(这里是盖住导航栏之后)按钮停住不动,周边颜色也完全变成导航栏的颜色,列表数据还可以继续滚动。...其实也挺简单,重点是 contentInset这个属性。这个属性是UIScrollView的,用来指定内容边界,UITableView继承自UIScrollView,当然也含有这个属性。...这段距离用来放图片栏目按钮。...(scrollView: UIScrollView) { let offsetY = -scrollView.contentOffset.y if offsetY < maxH {

96140

iOS实例——滑动列表展现隐藏顶部视图

顶部视图确实是直接作为self.view的子视图来添加的,但是列表的范围同样是覆盖整个屏幕,那么为了避免列表内容被顶部视图盖住,就要设置列表的contentoffset值。...= [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREENWIDTH, SCREENHEIGHT)]; self.tableView.delegate...CGPointMake(0, -200)]; 我们的顶部视图要跟随列表滚动,就必须获知列表的滚动效果,这里我们在自定义的顶部视图类中加一个UIScrollView属性,在初始化的时候就将我们的列表赋给这个属性(UITableView...在处理方法中我们要做两件事,第一件事是让顶部视图的高度随着列表移动而移动,但是要控制列表最高移动到的位置TOP最低移动到的位置BOTTOM,这其实就是顶部视图的低端对应的Y值。...示例工程 可以直接下载示例工程进行详细的了解需要的修改:https://github.com/Cloudox/ScrollShowHeaderDemo 查看作者首页

1.8K10

列表滑动展开隐藏头部HeaderView

首先在要将该界面分成两部分:一个ScrollHeader,一个UITableView。 ScrollHeader占据屏幕上方,高度为展开后的高度 UITableView占据整个屏幕,这样可以完全滚动。...为了让内容不被ScrollHeader遮盖,设置contentOffset属性即可 我这里用的ScrollHeader是作为独立的控件使用,与UITableView的HeaderView并无关系...之后将ScrollHeader分成两部分:topViewbottomView。...剩下的工作就是捕捉滑动状态,并且对滑动距离进行计算,移动topViewbottomView了。对于计算也不做过多说明了,因为没有几张草图也说不清。直接贴上代码,跟着代码算一下就知道怎么回事了。...willMoveToSuperview:(UIView *)newSuperview{ [self.headerScrollView addObserver:self forKeyPath:@"contentOffset

3.3K20

UIScrollView的一步步实现1 简介1.1 工作原理1.2 UIScrollView常见的几个重要控件1.3 UIScrollView常见的重要属性1.4 手工代码实现拖动2 三个重要属性的进

苹果最强大的地方就在于其良好的UI展示,UE体验。如果不会很好的使用UIScrollView,就等于丧失了苹果一般的法力。 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限。...并没有发生变化 缩放结束后 imageView 本身的 bounds 也没有发生变化 缩放结束后 imageView 的 center 发生了变化 1.2 UIScrollView常见的几个重要控件 UITableView...,contentSize, contenInset 2.1 contentOffset scrollView 通过修改 contentOffset 调整内部视图的坐标位置,从而给用户产生一种视觉上的滚动的效果...普通的内边距作用相反,不是让内容向里面缩进。是在不改变原有的contentSize基础上,让scrollView中的内容向四周多滚动一些。...scrollView 通过修改 contentInset 调整内部边缘的偏移 设置边距之后,初始没有效果,需要拖拽一下才有效果 可以通过设置 contentOffset 调整初始位置 contengInset

1.5K60

你可能需要为你的 APP 适配 iOS11

之后,也就是说tableView reloadData之后,tableView的contentOffset发生了几次变化。...本文内容包括:集成了搜索的大标题栏、横向选项卡栏、Margins Insets以及 UIScrollViewUITableView 的更新和功能更强大的滑动操作。...的scrollView,在iOS11中进行了一个很大的改变,不再通过scrollView的contentInset属性了,而是新增了一个属性:adjustedContentInset,下面的两张图的对比能够表示...estimateRowHeight属性,在iOS11的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSizecontentOffset...参考: 1、Updating Your App for iOS 11 - WWDC 2017 - Session 204 - iOS 2、iOS 8自动调整UITableViewUICollectionView

2.4K00

你可能需要为你的 APP 适配 iOS 11

变化后执行的,异常动画发生在tableView reloadData之后,也就是说tableView reloadData之后,tableView的contentOffset发生了几次变化。...本文内容包括:集成了搜索的大标题栏、横向选项卡栏、Margins Insets以及 UIScrollViewUITableView 的更新和功能更强大的滑动操作。 一....contentInset给其最顶层的viewController的scrollView,在iOS11中进行了一个很大的改变,不再通过scrollView的contentInset属性了,而是新增了一个属性...estimateRowHeight属性,在iOS11的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSizecontentOffset...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。

1.6K60

【IOS开发基础系列】UIScrollView专题

重要的提示:在UIScrollView对象中,你不应该嵌入任何UIWebViewUITableView。...另外一个比较动态的选择是UIScrollView的另一个属性contentInsetcontentInset增加你在contentsize中指定的内容能够滚动的上下左右区域数量contentInset.top...以及contentInset.buttom分别表示上面下面的距离。         ...在滚轴视图中,有一个叫做ContentOffset的属性跟踪UIScrollView的具体位置,你能够自己获取设置它,ContentOffset是你当前可视内容在滚轴视图边界的左上角那个点。...如图:         可以看出,ContentOffset内容中的那个点不是从contentInset的左上角开始的,而是内容的左上角,此时的ContentOffset是正值,但有时也是负值,如下图所示

38630

你可能需要为你的APP适配iOS11

之后,也就是说tableView reloadData之后,tableView的contentOffset发生了几次变化。...本文内容包括:集成了搜索的大标题栏、横向选项卡栏、Margins Insets以及 UIScrollViewUITableView 的更新和功能更强大的滑动操作。...的scrollView,在iOS11中进行了一个很大的改变,不再通过scrollView的contentInset属性了,而是新增了一个属性:adjustedContentInset,下面的两张图的对比能够表示...estimateRowHeight属性,在iOS11的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSizecontentOffset...参考: 1、Updating Your App for iOS 11 - WWDC 2017 - Session 204 - iOS 2、iOS 8自动调整UITableViewUICollectionView

81020
领券