iOS 实现悬浮跟手滚动效果

news/2025/2/6 10:05:22/

思路: 透视图不是放在tableView上面,而是放在控制器的view面,当tablView滚动的时候
透视图就跟着tablView滚动,(通过记录上次偏移量和当前偏移量来实现, tableView滚动多少,头视图就滚动多少),然后限制一下透视的的两个边界位置即可,通过MIN和MAX实现,同时,为了实现性能的优化,在超出临界值之后,就不再设置frame

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{if (scrollView.contentOffset.y > self.lastOffset && CGRectGetMinY(self.headerView.frame) <= 50) {self.lastOffset = scrollView.contentOffset.y;return;}if (scrollView.contentOffset.y < self.lastOffset && CGRectGetMinY(self.headerView.frame) >= 100) {self.lastOffset = scrollView.contentOffset.y;return;}CGRect rect = self.headerView.frame;CGPoint orign = rect.origin;orign.y -=(scrollView.contentOffset.y - self.lastOffset);orign.y = MIN(100, MAX(50, orign.y));rect.origin = orign;self.headerView.frame = rect;self.lastOffset = scrollView.contentOffset.y;
}

http://www.ppmy.cn/news/1378287.html

相关文章

记录西门子:IO隔离SCL编程

在PLC变量中创建IO输入输出 在PLC类型中创建输入和输出&#xff0c;并将PLC变量的输入输出名称复制过来 创建一个FC块或者FB块 创建一个DB块 MAIN主程序中&#xff1a;

蓝桥杯2023年第十四届省赛真题-数组分割

先接收遍历的次数。之后统计数组中有多少个奇数和偶数。如果奇数有奇数个的话&#xff0c;就没有组合能都是偶数。如果奇数有偶数个的话&#xff0c;就要进行组合 。例如&#xff1a;一个S中偶数个奇数组合&#xff0c;另一个S中没有奇数&#xff0c;或者一个S中偶数个奇数组合…

SpringCloud--Sentinel使用

一、快速开始 Sentinel 的使用可以分为两个部分&#xff1a; 核心库&#xff08;Java 客户端&#xff09;&#xff1a;不依赖任何框架/库&#xff0c;能够运行于 Java 8 及以上的版本的运行时环境&#xff0c;同时对 Dubbo / Spring Cloud 等框架也有较好的支持。控制台&…

SpringCloud Alibaba 学习

一&#xff1a;SpringCloud Alibaba介绍 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服 务的必需组件&#xff0c;方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba&…

php开发100问?

什么是 PHP&#xff1f;PHP 是一种什么类型的语言&#xff1f;PHP 的优缺点是什么&#xff1f;如何在服务器上配置 PHP&#xff1f;PHP 中的变量是如何声明和使用的&#xff1f;如何在 PHP 中输出文本和变量&#xff1f;什么是 PHP 的数据类型&#xff1f;如何在 PHP 中实现条件…

多智能体强化学习(Multi-Agent Reinforcement Learning, MARL)

多智能体强化学习&#xff08;Multi-Agent Reinforcement Learning, MARL&#xff09;是强化学习的一个分支&#xff0c;专注于在含有多个智能体&#xff08;agent&#xff09;的环境中学习。在这类环境中&#xff0c;每个智能体不仅要考虑环境的状态和如何通过其动作来最大化自…

MongoDB聚合运算符:$dateFromString

文章目录 语法使用使用例子对规则进行说明格式指示符 举例日期转换错误处理onError空值的粗粒 onNull $dateFromString聚合运算符将日期时间字符串转换为日期对象。 语法 { $dateFromString: {dateString: <dateStringExpression>,format: <formatStringExpression&g…

【设计模式】(四)设计模式之工厂模式

1. 工厂模式介绍 工厂模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 工厂模式有三种实现方式&#xff1a; 简单工厂模式工厂方法模式抽象工厂模式 2. 工厂方…