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

UIScrollView set contentInset.top不会推低内容视图吗?

UIScrollView的contentInset属性是用来设置内容视图在滚动时的内边距。其中,contentInset.top表示内容视图顶部的内边距。

当设置contentInset.top时,确实会改变内容视图的顶部内边距,但并不会推低内容视图。相反,它会影响到内容视图的滚动范围和滚动指示器的位置。

具体来说,如果将contentInset.top设置为正值,内容视图的滚动范围会增加,顶部会出现额外的空白区域,滚动指示器的位置也会相应地向下移动。这样,在滚动时,内容视图会从额外的空白区域开始滚动,而不是紧贴顶部。

相反,如果将contentInset.top设置为负值,内容视图的滚动范围会减少,顶部会出现遮挡部分内容的情况,滚动指示器的位置也会相应地向上移动。这样,在滚动时,内容视图会从被遮挡的部分开始滚动,而不是紧贴顶部。

总结起来,contentInset.top的设置会影响内容视图的滚动范围和滚动指示器的位置,但并不会直接推低内容视图。具体的效果取决于设置的值和内容视图的大小。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云虚拟专用网络(VPC):https://cloud.tencent.com/product/vpc
  • 腾讯云安全产品:https://cloud.tencent.com/product/ss
  • 腾讯云音视频服务(VOD):https://cloud.tencent.com/product/vod
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

1.1 核心原理         UIScrollView的核心理念是,它是一个可以在内容视图之上,调整自己原点位置的视图。它根据自身框架的大小,剪切视图中的内容,通常框架是和应用程序窗口一样大。...一个滚动的视图可以根据手指的移动,调整原点的位置。展示内容视图,根据滚动视图的原点位置,开始绘制视图内容,这个原点位置就是滚动视图的偏移量。...滚动视图必须知道内容视图的大小,以便于知道什么时候停止;一般而言,当滚动出内容的边界时,它就返回了。         ...另外一个比较动态的选择是UIScrollView的另一个属性contentInset,contentInset增加你在contentsize中指定的内容能够滚动的上下左右区域数量contentInset.top...在滚轴视图中,有一个叫做ContentOffset的属性跟踪UIScrollView的具体位置,你能够自己获取和设置它,ContentOffset是你当前可视内容在滚轴视图边界的左上角那个点。

39930

iOS开发UIScrollView使用详解 原

decelerationRate; 设置滑动速度 - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated; 设置滚动视图内容的偏移量...flashScrollIndicators; 显示一个短暂的滚动指示器 @property(nonatomic,readonly,getter=isTracking)     BOOL tracking; 获取用户是否触及视图内容...set方法设置偏移量后回触发 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView; 返回进行缩放的视图 - (void)scrollViewWillBeginZooming...:(UIScrollView *)scrollView withView:(UIView *)view; 视图内容将要开始缩放时触发的方法 - (void)scrollViewDidEndZooming...:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale; 视图内容结束缩放时触发的方法 - (BOOL)scrollViewShouldScrollToTop

1.6K30

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

1 简介 UIScrollView 是负责滚动的视图。苹果最强大的地方就在于其良好的UI展示,和UE体验。如果不会很好的使用UIScrollView,就等于丧失了苹果一般的法力。...UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理 在缩放的时候,原理是操作被缩放控件的的transform数值。...的滚动范围 contentOffset UIScrollView当前滚动的位置 contentInset 增加滚动视图四周的增加滚动范围 bounces 是否有弹簧效果,默认是开启的 scrollEnabled...,增加了这个属性 文档释义:contentOffset:内容视图原点(origin)所在的偏移位置,相对于 scroll view 的 origin,默认是 CGPointZero 2.1.1 方法:以恒定速度移动到新的...),如果当前区域完全可见,则什么也不做 如果指定的区域已经在可视范围,不会滚动 如果指定的区域完全超出contentSize的范围,不会滚动 如果指定的区域超越了当前可视区域,但没有超出contentSize

1.5K60

MJRefresh源码分析 原

+MJExtension提供了对UIScrollView内容尺寸,偏移量等属性的快速访问: @property (readonly, nonatomic) UIEdgeInsets mj_inset;...这两个组件是作为子视图添加在UIScrollView上的,因此和UIScrollView的原生头尾视图都不影响。...UIScrollView+MJRefresh类别在开发者设置mj_header和mj_footer属性时,将这两个组件添加为当前滚动视图的最下层子视图,为了满足某些自动加载的需求,这里面有用runtime...当UIScrollView有偏移量或内容尺寸的变化时,MJRefreshComponent会调用scrollViewContentOffsetDidChange函数,这个函数主要交给其子类实现。    ...:前面的表达式不为nil的话,则直接返回,不会执行到后面的表达式,上面的写法其实和第一种if语句的作用完全一致。

64910

iOS 中的事件响应

当用户在 UIScrollView 的一个子视图上按下时,UIScrollView并不知道用户是想要滑动内容视图还是点击对应子视图,所以在按下的一瞬间, 事件 UIEvent 从 UIApplication...传递到 UIScrollView 后,其会先将该事件拦截而不会立即传递给对应的子视图, 同时开始一个 150ms 的倒计时,并监听用户接下来的行为。...当倒计时结束前,如果用户的手指发生了移动,直接滚动内容视图不会将该事件传递给对应的子视图; 当倒计时结束时,如果用户的手指位置没有改变,则调用自身的 -touchesShouldBegin:withEvent...,默认为YES,如果设置为NO,则一旦开始跟踪事件,即使手指进行移动也不会取消已经传递给子视图的事件,即滚动视图不会再滚动。...open var canCancelContentTouches: Bool // 在UIScrollView的子类中重写该方法,用于返回是否将事件传递给对应的子视图,默认返回YES,如果返回NO,该事件不会传递给对应的子视图

2.6K11

iOS 自定义分段控制器

*pageScroll; //内容 @property (nonatomic,copy) NSArray *viewControllers; @property...self.btnViewHeight-self.indicatorHeight/2-1);//底部留1 [_btnView addSubview:self.indicatorView]; //4.内容...,一是标题按钮的创建,二是设置指示器的位置,三是配置多个内容的控制器视图,仔细看代码,逻辑其实也很简单明了 4.实现按钮点击事件和视图滑动事件 #pragma mark - 事件 -(void)btnClick...} } 我们在内部处理了界面偏移和按钮状态更改,如外面有代理,也会将当前第几个页面的index回调给代理,外部逻辑处理会变得很简单 5.个性配置,即设置属性更改UI 我们实现属性的set...方法,在set方法内部更改UI #pragma mark - set方法 -(void)setBtnViewHeight:(NSInteger)btnViewHeight{ _btnViewHeight

1.3K31

如何判断 ScrollView、List 是否正在滚动中

访问我的博客 www.fatbobman.com[1] 可以获得更好的阅读体验以及最新的更新内容。...wrappedValue = false } } // 手指缓慢拖动可滚动控件,手指离开后,decelerate 为 false,因此并不会调用 scrollViewDidEndDecelerating...preference 视图修饰器向其祖先视图传递信息( PreferenceKey )。...判断的准确度没有前两种方式高当可滚动组件中的内容出现了非滚动引起的尺寸或位置的变化( 例如 List 中某个视图的尺寸发生了动态变化 ),本方式会误判断为发生了滚动,但在视图的变化结束后,状态会马上恢复到滚动结束滚动开始后....scrollStatusMonitor($isScrolling, monitorMode: .common) } }}总结SwiftUI 仍在高速进化中,很多积极的变化并不会立即体现出来

3.7K40

iOS内存优化

在运行中缩放图片是很耗费资源的,特别是UIImageView嵌套在UIScrollView中的情况下。...容易被忽略的内存优化如下: 1.View的渲染是很吃CPU性能和内存的,所以更多的View渲染是特别容易消化内存和cpu,特别是我们再使用UIScrollView时,多个Subview 时 我们可以适当的...在程序启动的时候不加载资源,只有在运行当中需要一些资源时,再去加载这些资源,即在需要的时候才加载(效率,占用内存小),所谓懒加载,写的是其get方法undefined 3.缓存的使用 比如,服务器的不经常变化的资源...如果图片大小不够,就会平铺多张图片,不会去拉伸图片以适应View的大小。...undefined iOS视图都是一个图层,最先放置的图层就会在最底层,如此最先给UIView添加一个UIImageView就可以作UIView的背景图片使用啦 。

91764

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

顶部视图确实是直接作为self.view的子视图来添加的,但是列表的范围同样是覆盖整个屏幕,那么为了避免列表内容被顶部视图盖住,就要设置列表的contentoffset值。...要注意的是,设置contentoffset值必须在添加列表到self.view之后,否则无效,设置之后可能你会发现刚开始是好的,一点击列表内容就回到顶部了,别慌,那是之后会解决的问题: self.tableView...,就必须获知列表的滚动效果,这里我们在自定义的顶部视图类中加一个UIScrollView属性,在初始化的时候就将我们的列表赋给这个属性(UITableView是UIScrollView的子类):...视图内容可以自己定义,我就只放了一张图片。 对于滚动的跟随,我们采用KVO键值观察(可以查看这篇博客来了解)来做。...这样就不会一点列表就移动到被遮挡了。

1.8K10

iOS开发学习路线

真正会学习的人,不会说iOS完了,而是想着如何提升自己,你想想,真正牛逼的人,真的只会iOS开发这一种? ---- 学习方法 面对有难度的功能,不要忙着拒绝,而是挑战一下,学习更多知识....多去了解,不会被别人当小白,学多少都是自己的,至于在你去学习的时候,有人会说风言风语,这就是区别,他们活该初级,自己不会的东西,也看不惯别人去学习。...有些人会觉得,我上面说的这都是废话,或者说你知道有什么用,又没你提意见的资格。...菊花控件 UIAlertView(iOS8废除) 警告框 UIActionSheet(iOS8废除) 操作表单 UIAlertController(iOS8出现) 警告视图控制器 UIScrollView...P2P传输 直播 直播的技术分析与实现 RTMP协议 RTMP直播应用与延时分析 如果做一款inke版的App 流发布和播放RTMP FFmpeg 基于FFmpeg的流器 HLS流媒体传输协议(

1.8K60

android开发仿ios的UIScrollView实例代码

好了,说正事,对于ios开发我没接触,不是很了解,百度了半天,差不多就是UIScrollView的把。如果不对,请指证。...下面就来上源码: 首先,最最最重要的就是判断当前视图是否为空,你空视图滚不滚好像没啥区别,除了android 5.0的scrollview自带了那种弧度。...int) 当View分配所有的子元素的大小和位置时触发    onSizeChanged(int, int, int, int) 当view的大小发生变化时触发 onDraw(Canvas) view渲染内容的细节...if (isNeedMove()) { //顶部 if (normal.isEmpty()) { normal.set...其实也是蛮好玩的~ 以上这篇android开发仿ios的UIScrollView实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考。

99310

定时器 你真的会使用

scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(action:) userInfo:nil repeats:YES] 但是你真的会用?...打印台输出: image.png 可以看出在滑动UIScrollView时,定时器被暂停了。...userInfo:传入信息 repeats:是否重复执行 以上创建的定时器,若repeats参数设为NO,执行一次后就会被释放掉; 若repeats参数设为YES重复执行时,必须手动关闭,否则定时器不会释放...UIScrollView滑动会暂停计时 添加到NSDefaultRunLoopMode的 timer 在 UIScrollView滑动时会暂停,若不想被UIScrollView滑动影响,需要将 timer...每当屏幕显示内容刷新结束的时候,runloop就会向CADisplayLink指定的target发送一次指定的selector消息, CADisplayLink类对应的 selector 就会被调用一次

93120

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

本文内容包括:集成了搜索的大标题栏、横向选项卡栏、Margins 和 Insets以及 UIScrollView和UITableView 的更新和功能更强大的滑动操作。 一....margin指的是控件显示内容部分的边缘和控件边缘的距离。 可以用layoutMargins或者layoutMarginsGuide属性获得view的margin,margin是视图内部的一部分。...UIViewController中引入的 topLayoutGuide和 bottomLayoutGuide 在 iOS 11 中被废弃了,取而代之的就是safeArea的概念,safeArea是描述你的视图部分不被任何内容遮挡的方法...UIScrollView and UITableView的新特性 Scroll Views 如果有一些文本位于UI滚动视图的内部,并包含在导航控制器中,现在一般navigationContollers会传入一个...Table Views 和 Safe Area 有以下几点需要注意: separatorInset 被自动地关联到 safe area insets,因此,默认情况下,表视图的整个内容避免了其根视图控制器的安全区域的插入

1.6K60

iOS定时器,你真的会使用?前言正文结语

scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(action:) userInfo:nil repeats:YES] 但是你真的会用?...可以看出在滑动UIScrollView时,定时器被暂停了。...userInfo:传入信息 repeats:是否重复执行 以上创建的定时器,若repeats参数设为NO,执行一次后就会被释放掉; 若repeats参数设为YES重复执行时,必须手动关闭,否则定时器不会释放...UIScrollView滑动会暂停计时 添加到NSDefaultRunLoopMode的 timer 在 UIScrollView滑动时会暂停,若不想被UIScrollView滑动影响,需要将 timer...每当屏幕显示内容刷新结束的时候,runloop就会向CADisplayLink指定的target发送一次指定的selector消息, CADisplayLink类对应的 selector 就会被调用一次

2.4K50
领券