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

当contentSize更改时,UIScrollView会调整contentOffset

当contentSize更改时,UIScrollView会调整contentOffset以保持用户当前的可见内容不变。UIScrollView是一个用于展示可滚动内容的视图容器,它可以在用户滚动时自动调整其子视图的位置和大小。

当contentSize更改时,UIScrollView会根据以下规则调整contentOffset:

  1. 如果contentOffset在可见内容范围内,则保持不变。
  2. 如果contentOffset超出了可见内容范围,则调整contentOffset以使其保持在可见范围内。
  3. 如果contentOffset在可见内容范围内,但是更改后的contentSize导致可见内容范围变小,则调整contentOffset以保持可见内容的位置不变。

这种调整contentOffset的行为可以确保用户在更改contentSize后仍然能够看到他们之前正在查看的内容,从而提供更好的用户体验。

在腾讯云的产品中,与UIScrollView相对应的是腾讯云移动应用开发套件(Mobile App Development Kit,简称 MSDK)。MSDK提供了一系列移动应用开发的解决方案,包括UI组件、数据存储、用户认证、消息推送等功能,可以帮助开发者快速构建高质量的移动应用。更多关于腾讯云移动应用开发套件的信息,请访问以下链接:

腾讯云移动应用开发套件:https://cloud.tencent.com/product/msdk

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容。 普通的 UIView 不具备滚动功能,不能显示过多的内容。...常见的几个重要控件 UITableView UICollectionView UITextView 1.3 UIScrollView常见的重要属性 属性名 作用 contentSize 设置UIScrollView...的滚动范围 contentOffset UIScrollView当前滚动的位置 contentInset 增加滚动视图四周的增加滚动范围 bounces 是否有弹簧效果,默认是开启的 scrollEnabled...,contentSize, contenInset 2.1 contentOffset scrollView 通过修改 contentOffset 调整内部视图的坐标位置,从而给用户产生一种视觉上的滚动的效果...scrollView 通过修改 contentInset 调整内部和边缘的偏移 设置边距之后,初始没有效果,需要拖拽一下才有效果 可以通过设置 contentOffset 调整初始位置 contengInset

1.6K60
  • 一个多UITableview的左右滑动简单解决方案

    的冲突),通过修改UIScrollView的contentOffset属性实现左右滑动效果。...contentSize = CGSizeMake(self.view.width * 4, 0); // 写0,关闭vertical的滚动 viewWithTag 具有传递性 代码中存在5个UIScrollView...但viewWithTag具有传递性,有些属性UIScrollView容器没有,但是subviews里有,此时对容器调用viewWithTag会获取到子view上面对应tag的视图。...当UIScrollView直接添加到self.view的属性上时,如果automaticallyAdjustsScrollViewInsets为YES,会调整UIScrollView的inset以适应status...这时候,有的人可能会采用一种解决方案,比如在viewWillAppear的时候,把offset改回去; 或者另一种的解决方案:用UIView把UIScrollView装起来,再把UIView添加到VC.view

    2.8K71

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

    1 UIScrollView原理        在滚动过程当中,其实是在修改原点坐标。当手指触摸后,scroll view会暂时拦截触摸事件,使用一个计时器。...当用户做捏合手势时,滚动视图调整偏移量和视图的比例。当手势结束的时候,管理视图内容显示的对象,就应该恰当的升级子视图的显示。当手势在处理的过程中,滚动视图不能够给子视图,发送任何跟踪的调用。...当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。...与contentInset         contentsize是内容的宽和高,contentsize.width是内容的宽度,contentsize.heght是高度,contentsize是UIScrollView...你的代码变得很牢固地配对在一起,它实际上变成了超类的一部分,你无法从UIScrollView中析取它,之后用其它东西代替,如果它在你控制器中且为控制器的一部分,在之后更容易改变它工作的方式和重新安排你应用程序的一些部分

    65530

    阅读器多种翻页的设计与实现

    会造成contentSize和contentOffset的改变,导致界面可能会出现闪烁,需要各类逻辑的特殊处理。...综上的分析,这里提供一个基于UIScrollView的方案,避免去手动计算速度,也可以及时回收内存,并且contentSize一直保持不变。...以下图为例,我们使得UIScrollView的contentSize为(view.width, 3*view.height),偏移contentOffsetY为view.height(初始状态相当于将窗口放置在中间...简单的实现效果 上图的实现过程非常简短: - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (self.scrollView.contentOffset.y...A: 当滑动到最后一页的时候,此时没有nextVC,无法接着往下滑,但是因为手势还在,会频繁触发getNextVC的方法。

    3.4K10

    iOS 面试策略之系统框架-UIScrollView及其子类

    [1240] 当一个屏幕无法展示 App 需要展示的所有内容时,就是 UIScrollView 大展拳脚的时候:通过使用 UIScrollView,用户可以滑动或是缩放屏幕,来看单个屏幕无法展示的内容。...基本理论 1.请说明并比较以下关键词:contentView,contentInset,contentSize,contentOffset。...contentSize 是指 contentView 的大小。它一般超过屏幕大小,是整个 UIScrollView 实际内容的大小。...contentOffset 是当前 contentView 浏览位置左上角点的坐标。它是相对于整个 UIScrollView 左上角为左边原点而言。默认为 CGPointZero。...以下是示范代码: override func scrollViewDidScroll(_ scrollView: UIScrollView) { let current = scrollView.contentOffset.y

    2.7K21

    UIScrollView 和 UIPageControl 实现启动滑动图

    userDefaults = [NSUserDefaults standardUserDefaults]; //判断滑动图是否出现过,第一次调用时“isScrollViewAppear” 这个key 对应的值是nil,会进入...和 UIPageControl 为启动滑动图做准备 UIScrollView : 带有滑动效果,在上面加入UIImageView再设置代理后,可以实现翻页显示图片的效果 涉及的相关属性: contentSize...mainScreen].bounds]; //设置UIScrollView 的显示内容的尺寸,有n张图要显示,就设置 屏幕宽度*n ,这里假设要显示4张图 _scrollView.contentSize...,这里进行的是 UIPageControl 和 UIScrollView 的配 套使用、滑动图消失信息等: 涉及到的相关属性: UIScrollView: contentOffset : UIScrollView...UIPageControl *page = (UIPageControl *)[self.view viewWithTag:201]; page.currentPage = current; //当显示到最后一页时

    66010

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

    设置landscapeImagePhone属性,在storyboard中也支持这个设置,对于HUD的image需要设置另一个iOS11新增的属性:largeContentSizeImage,关于这部分更详细的讨论...自从引入layout margins,当将一个view添加到viewController时,viewController会修复view的的layoutMargins为UIKit定义的一个值,这些调整对外是封闭的...和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的,就会造成动画的异常,因为在估算行高机制下,contentSize的值是一点点地变化更新的,所有cell显示完后才是最终的contentSize...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。...滑动操作这里还有一个需要注意的是,当cell高度较小时,会只显示image,不显示title,当cell高度够大时,会同时显示image和title。

    2.5K00

    iOS开发UIScrollView使用详解 原

    iOS开发UIScrollView使用详解 一、ScrollView常用方法和属性 @property(nonatomic)CGPoint contentOffset; 设置滚动的偏移量 @property...(nonatomic)CGSize contentSize; 设置滑动区域 @property(nonatomic,assign) id      delegate...设置是否锁定,这个属性很有意思,默认为NO,当设置为YES时,你的滚动视图只能同一时间在一个方向上滚动,但是当你从对角线拖动时,是时刻在水平和竖直方向同时滚动的。...设置视图是否延迟处理触摸事件(会将消息传递给子视图) @property(nonatomic) BOOL canCancelContentTouches; 设置是否给子视图传递取消动作的消息(默认设置为YES,当scrollView...触发事件的时候,其子视图不能触发,如果设置为NO,则子视图会继续触发事件) - (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent

    1.7K30

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

    自从引入layout margins,当将一个view添加到viewController时,viewController会修复view的layoutMargins为UIKit定义的一个值,这些调整对外是封闭的...UIScrollView and UITableView的新特性 Scroll Views 如果有一些文本位于UI滚动视图的内部,并包含在导航控制器中,现在一般navigationContollers会传入一个...和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的,就会造成动画的异常,因为在估算行高机制下,contentSize的值是一点点地变化更新的,所有cell显示完后才是最终的contentSize...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。...高度较小时,会只显示image,不显示title,当cell高度够大时,会同时显示image和title。

    1.7K60

    UIScrollView

    ; //6.内容视图的大小 @property(nonatomic) CGSize contentSize; //7.内容视图的距离,是从封闭的滚动视图插图 @property(nonatomic...@property(nonatomic) BOOL canCancelContentTouches; //28.自定义默认行为,当手指触摸在显示的内容由子类重写 - (BOOL)touchesShouldBegin...UIScrollView的常见属性 @property(nonatomic) CGPoint contentOffset; 这个属性用来表示UIScrollView滚动的位置 (其实就是内容左上角与scrollView...左上角的间距值,初始位置) @property(nonatomic) CGSize contentSize; 这个属性用来表示UIScrollView内容的尺寸,滚动范围(能滚多远) @property...默认是 _scrollView 的宽度 _scrollView.pagingEnabled = YES; UIScrollView不能滚动的条件 contentOffset属性 AntoLayout 取消

    1.8K60
    领券