首页
学习
活动
专区
圈层
工具
发布

contentInset,contentOffset等概念的理解

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

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

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

    要注意的是,设置contentoffset值必须在添加列表到self.view之后,否则无效,设置之后可能你会发现刚开始是好的,一点击列表内容就回到顶部了,别慌,那是之后会解决的问题: self.tableView...= self; self.tableView.dataSource = self; self.tableView.tableFooterView = [[UIView alloc] init...];// 去除多余的列表线条 [self.view addSubview:self.tableView]; [self.tableView setContentOffset:CGPointMake...在处理方法中我们要做两件事,第一件事是让顶部视图的高度随着列表移动而移动,但是要控制列表最高移动到的位置TOP和最低移动到的位置BOTTOM,这其实就是顶部视图的低端对应的Y值。...示例工程 可以直接下载示例工程进行详细的了解和需要的修改:https://github.com/Cloudox/ScrollShowHeaderDemo 查看作者首页

    2.6K10

    六天完成一个简单iOS App - 第四天

    endRefreshing]; MJRefresh内部实现思路,在tableView中titleView上方添加下拉刷新的View,使用scrollView代理方法监听tableView的contentOffset...,当开始下拉,contentOffset改变时显示刷新View,当滑动结束并且contentOffset到达一定数值时,修改刷新View显示内容即可。...}); } } 上拉加载和下拉刷新思路一样,有两种方案,1....因此当上拉和下拉同时出现的时候必须要取消掉先开始的上拉或者下拉请求。 保存task,上拉和下拉同时出现时,取消其中一个。...热门评论数据 我们需要拿到content 和user里面的username,根据面向模型开发,创建CLComment模型和CLUser模型,直接将数组内热门评论通过MJExtension字典转化为CLConmment

    1.9K70

    iOS UITableView 滑动到底部加载更多数据

    前言 很多APP都是滑动到底部时点击加载更多才会加载数据,这样用户体验就会有间断感,所以我们想用户看到最后时自动加载数据 怎么做呢 有人会说用一下的这个方法 - (void)tableView:(UITableView...*)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ } 这种方法没法实现的...然后根据滑动的高度做判断 看是否滑动到了底部 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ CGPoint offset = scrollView.contentOffset...= scrollView.bounds; CGSize size = scrollView.contentSize; UIEdgeInsets inset = scrollView.contentInset...的 content的高度 小于 tableview的高度 if(scrollViewHeight>=maximumOffset){ CGFloat space = currentOffset

    2.7K10

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

    前言 前几天发现在做的APP在iOS11系统上动画有异常,在其他系统的设备上都是正常的,动画的操作是观察tableView的contentOffset变化后执行的,异常动画发生在tableView reloadData...之后,也就是说tableView reloadData之后,tableView的contentOffset发生了几次变化。...给其最顶层的viewController的scrollView,在iOS11中进行了一个很大的改变,不再通过scrollView的contentInset属性了,而是新增了一个属性:adjustedContentInset...是使用estimateRowHeight属性的,这样就会造成contentSize和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的,就会造成动画的异常,因为在估算行高机制下...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。

    3.2K00

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

    的contentOffset变化后执行的,异常动画发生在tableView reloadData之后,也就是说tableView reloadData之后,tableView的contentOffset...UIScrollView and UITableView的新特性 Scroll Views 如果有一些文本位于UI滚动视图的内部,并包含在导航控制器中,现在一般navigationContollers会传入一个contentInset...给其最顶层的viewController的scrollView,在iOS11中进行了一个很大的改变,不再通过scrollView的contentInset属性了,而是新增了一个属性:adjustedContentInset...是使用estimateRowHeight属性的,这样就会造成contentSize和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的,就会造成动画的异常,因为在估算行高机制下...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。

    2.5K60

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

    前言 前几天发现在做的APP在iOS11系统上动画有异常,在其他系统的设备上都是正常的,动画的操作是观察tableView的contentOffset变化后执行的,异常动画发生在tableView reloadData...之后,也就是说tableView reloadData之后,tableView的contentOffset发生了几次变化。...给其最顶层的viewController的scrollView,在iOS11中进行了一个很大的改变,不再通过scrollView的contentInset属性了,而是新增了一个属性:adjustedContentInset...是使用estimateRowHeight属性的,这样就会造成contentSize和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的,就会造成动画的异常,因为在估算行高机制下...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。

    1.4K20
    领券