记录一个iOS头部放大计算

news2024/12/24 3:45:26

请添加图片描述

视图层级:由于这是在原有的视图层级的基础上完成的放大功能,所以记录了一下计算方法,
tableview 和 放大的背景图片都是self.view的子视图,下拉的时候要方法,上滑的时候要同步上移图片
核心代码

    [self.view addSubview:self.heardBgView];
    [self.view sendSubviewToBack:self.heardBgView];
    self.heardBgView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_WIDTH * 223 /375);

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
    CGFloat offsetY = scrollView.contentOffset.y;
//-35 是初始偏移量
  if (offsetY <= (-35)) {
            CGFloat moreHeight = - MIN(self.contentInsetTop, offsetY) - self.contentInsetTop;
            moreHeight = MAX(0, moreHeight);
            self.heardBgView.frame = CGRectMake(0, 0 , self.heardBgView.frame.size.width, SCREEN_WIDTH * 223 / 375 +  moreHeight);
        } else {
            /*
             初始偏移量- 35 , 当前偏移量 offsety ,
             变化的偏移量 (offsety - (- 35))
             原始位置要做相反的变化量
             即 - (offsety - (-35));
             */
            self.heardBgView.frame = CGRectMake(0, 0 - (offsetY - (-35)), self.heardBgView.frame.size.width, SCREEN_WIDTH * 223 / 375);
        }
        }

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

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

相关文章

回了一趟老家,我发现老家没有想象中那么舒服!

大家好&#xff0c;我是千与千寻&#xff0c;千寻最近回了一趟老家&#xff0c;说到回老家&#xff0c;我相信说应该大部人觉得是很舒服&#xff0c;自己很满意的生活节奏与感觉。 但是千寻在老家的这一个星期&#xff0c;感受到了非常多的不舒适&#xff0c;希望和星友们聊聊看…

三极管选型

来源网络&#xff0c;仅作笔记 三极管如何选型? 应根据电路的实际上需选取三极管的类别&#xff0c;即三极管在电路中的效用应与所选三极管的机能相吻合。 三极管的品种很多&#xff0c;分类的方式也不同&#xff0c;一般按半导体导电特点分成NPN型与PNP型两大类;按其在电路中…

zabbix-2-创建自定义监控项

例如监控iostat 下的sda tps值 [rootnode1 ly]# iostatLinux 3.10.0-1160.53.1.el7.x86_64 (node1) 2023年06月13日 _x86_64_ (32 CPU)avg-cpu: %user %nice %system %iowait %steal %idle0.06 0.00 0.04 0.01 0.00 99.89Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 1…

网工内推 | 金融业网工专场,员工旅游,带薪年假,节日福利

01 银信科技 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1&#xff09; 负责分支机构筹建网络系统调试与部署工作、网络运维管理及问题处理支持&#xff1b; 2&#xff09; 处理外部代理点系统及网络问题协助支持&#xff1b; 3&#xff09; 负责网络日志平台监控及…

PyCharm安装教程(图文结合,超详细,小白安装必看)

PyCharm安装教程(图文结合&#xff0c;超详细&#xff0c;小白安装必看) 一、Python开发环境 PyCharm集成开发工具&#xff08;IDE&#xff09;&#xff0c;是当下全球Python开发者&#xff0c;使用最频繁的工具软件。 绝大多数的Python程序&#xff0c;都是在PyCharm工具内…

python控制台学生管理系统

代码与注释 具体功能说明 设计初始界面设计学生信息录入 【数据校准】录入判断 学生姓名不能为空&#xff0c;并且不成超过4个字【数据校准】录入判断年龄在0-120 需要进行判断【数据校准】录入需要判断学号是否为空与学号是否在10位数【数据校准】录入需要判断成绩是否在0-1…

python数据分析-Mysql中NULL和‘ ‘怎么处理(不使用update)

一、空值NULL和空字符’ ’ 展示代码使用的版本是&#xff1a;8.0.28 空值NULL的长度是NULL&#xff0c;是占用存储空间的。空字符串’ 的长度是0&#xff0c;是不占用空间的。 理解&#xff1a;空字符串就像是一个真空状态的杯子&#xff0c;什么都没有;而空值NULL_就像是一…

17-事件循环(实现单线程非阻塞的方法就是事件循环)

一、是什么 &#x1f9c0;&#x1f9c0;&#x1f9c0;首先&#xff0c;JavaScript是一门单线程的语言&#xff0c;意味着同一时间内只能做一件事&#xff0c;但是这并不意味着单线程就是阻塞&#xff0c;而实现单线程非阻塞的方法就是事件循环 在JavaScript中&#xff0c;所有…

Vue路由模式

1. vue路由简介和基础使用 1.1 什么是路由 设备和ip的映射关系 接口和服务的映射关系 路径和组件的映射关系 1.2 为什么使用路由&#xff1f; 在一个页面里, 切换业务场景&#xff0c;具体使用示例: 网易云音乐 网易云音乐 单页面应用(SPA): 所有功能在一个html页面上实现 前…

虚拟内存(Virtual Memory)

什么是虚拟内存&#xff1f; 虚拟内存(Virtual Memory) 是计算机系统内存管理非常重要的一个技术&#xff0c;本质上来说它只是逻辑存在的&#xff0c;是一个假想出来的内存空间&#xff0c;主要作用是作为进程访问主存&#xff08;物理内存&#xff09;的桥梁并简化内存管理。…

.NET的AsyncLocal用法指南

AsyncLocal用法简介 通过 AsyncLocal 我们可以在一个逻辑上下文中维护一份私有数据&#xff0c;该上下文后续代码中都可以访问和修改这份数据&#xff0c;但另一个无关的上下文是无法访问的。 无论是在新创建的 Task 中还是 await 关键词之后&#xff0c;我们都能够访问前面设…

开关电源——三种基本拓扑

开关电源——三种基本拓扑 开关电源基本原理——伏秒数法则与占空比 当电路是稳态电路的时候&#xff0c;有限的输入对应有限的输出&#xff0c;即电路不再积累能量&#xff0c;电感积累的能量是电压对时间的积分&#xff0c;在开关电源电路中&#xff0c;电感在开关导通和截…

06- c语言预处理 (C语言)

一 预处理概述 1、前面各章中&#xff0c;已经多次使用过 #include 命令。使用库函数之前&#xff0c;应该用#include引入对应的头文件。这种以 #号开头的命令 称为预处理命令。 2、C语言提供了多种预处理功能&#xff0c;如 宏定义、文件包含、条件编译 等。合理地使用预处理…

web漏洞-反序列化之PHPJAVA全解(上)(37)

这个很重要 为什么会产生这个东西&#xff1a;序列化之后便于我们对象的传输和保存&#xff0c;这个作用就是为了数据的传递和格式的转换&#xff0c;我们称之为序列化。 在这给过程中&#xff0c;会涉及到一种叫做有类和无类的情况&#xff0c;开发里面经常看到的一个东西&a…

『免费开源』基于单片机的自动浇花系统DIY总结

功能梳理 PCB线路板采用核心板底板实现 核心板&#xff1a;排针引脚间距为2.54mm&#xff0c;2排&#xff0c;双排间距为2.54mm的倍数&#xff08;方便与面包板联用&#xff09;&#xff0c;未使用引脚全部引出&#xff0c;核心板上的主芯片为STM32F103RET6。 目的&#xff1a…

ProtoBuf 第一章、初识

一、初识 ProtoBuf 1.1序列化的概念 序列化和反序列化 序列化&#xff1a;把对象转换为字节序列的过程 称为对象的序列化。反序列化&#xff1a;把字节序列恢复为对象的过程 称为对象的反序列化。 什么情况下需要序列化 存储数据&#xff1a;当你想把的内存中的对象状态保存…

Opencv-C++笔记 (12) : opencv-仿射变化

文章目录 一、概述二、GetRotationMatrix2D三、warpAffine() 一、概述 介绍完图像的缩放和翻转后&#xff0c;接下来将要介绍图像的旋转&#xff0c;但是在OpenCV 4中并没有专门用于图像旋转的函数&#xff0c;而是通过图像的仿射变换实现图像的旋转。实现图像的旋转首先需要确…

MT6704 应用

MT6704 是用于反激式变换器的高性能 40V 同步整流器。它兼容各种反激转换器类型。支持 DCM、CCM 和准谐振模式。MT6704 集 成 了 一 个 40V 功 率MOSFET&#xff0c;MT6704可以取代肖特基二极管&#xff0c;提高效率。V SW <V TH-ON 时&#xff0c;内部 MOSFET 导通。 V SW …

【JavaEE】网络层和数据链路层重点协议:IP和以太网

目录 1、IP协议 1.1、IP协议报头 1.2、解决IPv4地址不够用的问题 2、IP地址管理 2.1、IP地址的组成 2.1.1、子网掩码 2.1.2、IP地址的分类 3、路由选择 4、数据链路层协议&#xff1a;以太网协议 1、IP协议 IP协议属于TCP/IP模型的网络层&#xff0c;在网络层协议存在…

volatile,wait和notify,懒汉模式和饿汉模式,阻塞式队列,定时器

目录 可见性 volatile volatile保证内存可见性 volatile不保证原子性 synchronized也可以保证内存可见性 wait和notify wait () notify() notifyAll() wait和sleep对比 顺序执行ABC三个线程 单例模式 饿汉模式 懒汉模式 懒汉模式和饿汉模式在多线程环境下调用getInstance,是否…