UIScrollView setContentOffset: animated:

news2024/10/7 12:24:45

项目中遇到感觉一切都设置对了,但是看到的效果和预想的不一样。

后来查询了一番,才知道问题所在,现在记录一下,担心过后又忘了。

最初的问题是这样的,这个热度只有在评论里有,点击赞的时候,热度应该消失,再切回评论的时候,热度又应该出现。左右滑动这个子UIScrollView的时候,效果没问题,但是手动点击评论和赞的时候,UI 展现就出现问题了。最开始的时候以为是没处理,查看代码,其实处理的看起来没问题。下面是最初的代码截图:

在点击评论或者赞的时候,先调用的是selectedIndex,这里会先设置UIScrollView的偏移量,然后滚动UIScrollView(该scrollview有子视图的时候)会触发layoutSubviews,也就是会去调用layoutMySonsFrames,当调用了这个layoutMySonsFrames方法之后,会去判断偏移量,根据情况去隐藏或者显示这个热度。按照这个逻辑,看起来没有毛病。但是忽略了一点:

如果直接调用 setContentOffset:方法,或者setContentOffset: animated: 为NO,  在方法结束就可以立刻改变contentoffset值;如果设为YES,只能在调用这个方法的函数执行结束后才能得到新的contentoffset值。

最开始animated 设置的是 YES,也就是只有在selectedIndex方法执行完,才会将 UIScrollView 的偏移量设置成我想要的。所以这里的问题是需要将 animated 设置成 NO。

顺便记录一下layoutSubviews会被调用的几种情况:(init初始化不会触发layoutSubviews)

1、addSubview会触发viewWillLayoutSubviews

2、设置self.view及子视图的frame.size会触发layoutSubviews,当然前提是frame.size的值设置前后发生了变化,注意,此处不是origin,呼应官方文档上的边界发生变化

3、滚动一个UIScrollView(该scrollview有子视图的时候)会触发layoutSubviews

4、横竖屏幕切换会触发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1001624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频号的视频怎么下载,有什么下载工具推荐

视频下载助手去水印小工具是一款方便实用的工具,可以帮助用户在下载视频的时候可以一键去除视频中的水印。 该工具支持多种视频平台的去水印功能,如抖音、快手、小红书、视频号、公众号文字视频、西瓜视频、哔哩哔哩、微博视频、多多视频等。 经过亲自测…

为什么女程序员那么稀缺?女程序员吃不吃香?

程序员脱单一直是个难题,这里的一个客观原因就是程序员群体的男女比例严重失衡(比如我司达到了2:8),身边的工作环境缺少异性,大老爷们天天混在一起,脱单自然也就更加困难了。 女程序员那么稀缺&#xff0c…

《Python深度学习-Keras》精华笔记3:解决深度学习多分类问题

公众号:机器学习杂货店作者:Peter编辑:Peter 持续更新《Python深度学习》一书的精华内容,仅作为学习笔记分享。 本文是第三篇:介绍如何使用Keras解决Python深度学习中的多分类问题。 多分类问题和二分类问题的区别注意…

180页的Python完全版电子书

大家好,我是涛哥。 Python学习有很多方式,可以从基础一步步看语法, 可以从案例一步步学习,本篇内容就是通过案例进行讲解,方便大家一步一步进行学习实战。 整个内容经过几个月总结《Python之路2.0.pdf》&#xff0c…

基于 Python 的音乐流派分类

音乐就像一面镜子,它可以告诉人们很多关于你是谁,你关心什么,不管你喜欢与否。我们喜欢说“you are what you stream” - Spotify Spotify 拥有 260 亿美元的净资产,是如今很受欢迎的音乐流媒体平台。它目前在其数据库中拥有数百…

Java拓展--空间复杂度和时间复杂度

空间复杂度和时间复杂度 文章目录 空间复杂度和时间复杂度空间复杂度时间复杂度**评价排序算法****时间频度****什么是时间频度****忽略常数项****忽略低次项****忽略系数** **时间复杂度****什么是时间复杂度****计算时间复杂度的方法****常见的时间复杂度** **常见的时间复杂…

正中优配:证券融资融券是什么意思?

证券融资融券(简称“融资融券”)是一种股票出资办法,是指出资者经过融券生意和融资生意来进行股票出资。它在出资商场上具有重要的作用,因为经过这种办法,出资者能够使用假贷资金进行股票生意,能够进步出资…

腾讯云4核8G服务器选CVM还是轻量比较好?价格对比

腾讯云4核8G云服务器可以选择轻量应用服务器或CVM云服务器标准型S5实例,轻量4核8G12M服务器446元一年,CVM S5云服务器935元一年,相对于云服务器CVM,轻量应用服务器性价比更高,轻量服务器CPU和CVM有区别吗?性…

23062C++QTday4

仿照string类&#xff0c;完成myString 类 代码&#xff1a; #include <iostream> #include <cstring> using namespace std; class myString {private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度public://无参构造my…

华为云云耀云服务器L实例评测 | 由于自己原因导致MySQL数据库被攻击 【更新中。。。】

目录 引出起因&#xff08;si因&#xff09;解决报错诶嘿&#xff0c;连上了 不出意外&#xff0c;就出意外了打开数据库what&#xff1f;&#xff1f;&#xff1f; 找华为云求助教训&#xff1a;备份教训&#xff1a;密码 解决1.改密码2.新建一个MySQL&#xff0c;密码设置复杂…

Android T 窗口层级其三 —— 层级结构树添加窗口

文章目录 序节点添加Task以DefaultTaskDisplayArea为父节点以Task为父节点 ActivityRecordWindowTokenWindowState以WindowToken为父节点以ActivityRecord为父节点 小结调用场景添加差异 流程分析添加log堆栈打印流程LauncherStatusBar 序 尚未添加窗口的层级结构树&#xff0…

前端该了解的网络知识

网络 前端开发需要了解的网络知识 URL URL(uniform resource locator,统一资源定位符)用于定位网络服务. URL是一个固定格式的字符串 它表达了: 从网络中哪台计算机(domain)中的哪个服务(port),获取服务器上资源的路径(path),以及要用什么样的协议通信(schema). 注意: 当…

探索Netty的FuturePromise

Netty—Future&Promise 一、JDK原生 Future二、Netty包下的 Future三、Promise1、使用Promise同步获取结果2、使用Promise异步获取结果.3、使用Promise同步获取异常 - sync & get4、使用Promise同步获取异常 - await5、使用Promise异步获取异常 在异步处理时&#xff0…

颜色代码对照表

颜色代码对照表 各颜色代码: 1 白色 #FFFFFF 2 红色 #FF0000 3 绿色 #00FF00 4 蓝色 #0000FF 5 牡丹红 #FF00FF 6 青色 #00FFFF 7 黄色 #FFFF00 8 黑色 #000000 9 海蓝 #70DB93 …

出行类APP商业化路径解决方案

当下市场主流的商业化路径和方法相比于之前区别不大&#xff0c;开发者们都是在现有商业化体系下&#xff0c;制定更加详细、优质的策略&#xff0c;以期获得更高利益。 出行类App用户结构分析 年龄层次&#xff1a;出行类App用户的年龄分布比较广泛&#xff0c;主要集中在20…

商品防伪查询溯源小程序开发源码

企业商家在销售商品的过程中被人仿冒产品以次充好损害公司名声和影响产品销量是很多企业的痛点。我们基于次帮助企业开发了一款商品防伪溯源查询小程序&#xff0c;解决企业痛点&#xff0c;酿造更好的经商坏境。 核心功能&#xff1a; 我们采用一物一码的逻辑&#xff0c;可…

【网络基础】——HTTPS

目录 HTTPS背景知识 HTTPS是什么&#xff1f; 加密解密 为什么要加密 常见的加密方式 对称加密 非对称加密 数据摘要&&数据指纹 数字签名 HTTPS工作过程探究 方案1&#xff1a;只使用对称加密 方案2&#xff1a;只使用非对称加密 方案3&#xff1a;双方…

day37 线程

一、线程安全 二、多线程并发的安全问题 当多个线程并发操作同一临界资源 由于线程切换实际不确定 导致操作顺序出现混乱 产生的程序bug 严重时出现系统瘫痪 临界资源 &#xff1a;操作该资源的完整流程同一时间只能被单一线程操作的资源 多线程并发会出现的各种问题、 如…

IT运维:使用数据分析平台监控奇安信

监控目标 本文基于鸿鹄2.10.0版本。 ●监控奇安信日志类型分布 ●监控奇安信攻击行为、分析攻击类型 ●监控奇安信攻击来源情况 操作步骤 数据导入 1、创建数据集&#xff0c;如使用已经存在的数据集&#xff0c;可跳过此步骤 数据集名称&#xff1a;qax_syslog&#xff08;仪表…

管理类联考——数学——汇总篇——知识点突破——应用题——鸡兔同笼

⛲️ 一、考点讲解 第一鸡兔同笼问题 若已知脚数之和及鸡兔总数&#xff0c;求各多少只&#xff1a; 假设全都是鸡&#xff0c;则有 兔数 ( 实际脚数 − 2 鸡兔总数 ) ( 4 − 2 ) 兔数(实际脚数-2鸡兔总数)(4-2) 兔数(实际脚数−2鸡兔总数)(4−2) 假设全都是兔&#xff0…