仿京东、淘宝商品详情中上滑tableView的cell与headerView之间的动画效果

tableView下拉时候tableHeaderView的动画效果 tableView下拉时候头部tableHeaderView的动画效果 立即下载

在做项目时涉及到仿照京东商品详情详情做,在网上找了好多demo,其他都实现了,只有一个动画效果没有实现,就是在滑动tableView时他的headerView与cell之间的过渡效果没有实现出来,找了好多方法,有的是用三方实现的,我觉得一个动画效果用个三方有点浪费了,就自己通过计算写了一个方法,其实也挺简单,就是计算出cell和header之间的滑动范围,再加上一个过渡动画就OK了,废话少说,上代码:

首先定义轮播图的父视图和headerView的父视图  并定义tableView

@property (nonatomic, strong) UIScrollView *scrollView;

@property (nonatomic, strong) UITableView *tableView;

@property (nonatomic, strong) UIView *headerView;


然后

- (void)viewDidLoad {

    [super viewDidLoad];    

    self.tableView.delegate = self;

    self.tableView.dataSource = self;

    [self createHeader];//创建headerView和轮播图

    self.tableView.tableHeaderView = self.headerView;

}


最后滑动过渡效果的能够实现的关键代码

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

    

    CGFloat offset = scrollView.contentOffset.y;

    

    if (scrollView == self.tableView) {

        

        // 重新赋值,就不会有用力拖拽时的回弹

        self.headerScrollView.contentOffset = CGPointMake(self.headerScrollView.contentOffset.x, 0);

        

        if (offset <= ScreenWidth && self.tableView.contentOffset.y > 0) {

            

            self.headerScrollView.contentOffset = CGPointMake(self.headerScrollView.contentOffset.x, -offset / 2.0f);

            self.navigationController.navigationBar.alpha = offset / ScreenWidth;//导航栏渐变效果 可以不加

        }

        //下面的两个else if都是解决用力拖拽时的问题

        else if (self.tableView.contentOffset.y <= 0)

        {

            self.navigationController.navigationBar.alpha = 0;//导航栏 效果 可以不加


        }else

        {

            self.navigationController.navigationBar.alpha = 1;//导航栏 效果 可以不加

        }



    }else if (scrollView == self.scrollView) {

        self.pageControl.currentPage = scrollView.contentOffset.x/ScreenWidth;//小点点  

    }

    

}

把代码直接复制粘贴就可以了。。。

如果有用就顶一下吧。。。。。



iOS-仿淘宝navigationBar双波纹 iOS-仿淘宝navigationBar双波纹 欢迎关注http://blog.youkuaiyun.com/u014220518/article/details/54174779 立即下载

相关推荐

IOS仿淘宝商品详情UI实现

IOS仿淘宝商品详情UI实现 使用了MJReFlash控件,没有封装,为大家提供提供思路吧。

tableView搜索

#import "ViewController.h"@interface ViewController ()<UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate>// 展示所有数据的表格视图 @property(strong) UITableView* tableView; // 表格的数据源 @property(strong)

GuiGen_L的博客 724

iOS 仿京东淘宝商品详情tableView上滑和headerView之间的滑动效果

iOS 仿京东淘宝商品详情tableView上滑和headerView之间的滑动效果,滑动详情图缩小,下拉拉长,仿京东效果,headerview滚动图可以点击

UITableView的headerView悬停解决方案

UITableView的section headerView悬停解决方案, 遮挡.

zhoupengju的博客 1万+

iOS 仿京东详情上推动画效果

iOS 仿京东详情上推动画效果,代码是OC 版本. 上传前已确认可运行.

Java实战:绿盾加密文件批量解密工具Ldterm的实现与优化

本文详细介绍了基于Java开发的绿盾加密文件批量解密工具Ldterm的实现与优化过程。通过分析绿盾加密机制,结合Java流处理能力,实现了高效的文件解密方案,并分享了多线程处理、内存优化等性能提升技巧,适用于企业级数据迁移与备份场景。

weixin_29314405的博客 492

tableView的plain样式的headerView的上拉过程中悬停解决方法

tableView的plain样式的headerView的上拉过程中悬停解决方法

asdfgh0077的博客 252

Saturn PCB Toolkit V8.02 实战:5分钟完成10A电源路径的走线与过孔通流验证

本文详细介绍了如何使用Saturn PCB Toolkit V8.02快速验证10A电源路径的走线与过孔通流能力。通过实战案例和参数配置指南,帮助工程师解决大电流PCB设计中的温升失控、过孔瓶颈等核心挑战,提升设计效率和可靠性。

weixin_34194829的博客 452

iOS开发-去掉UITableView HeaderView或FooterView随tableView 移动的黏性(sticky

去掉UITableView HeaderView或FooterView随tableView 移动的黏性(sticky) 1.签协议(如果直接用UIScrollView ,就签 UIScrollViewDelegate) 2.设置代理人( _scrollVIew.delegate = self; ) 3.实现方法 - (void)scrollViewDidScroll:(

Zhai19931004的博客 1537

精益六西格玛Python数字化应用开发-Day18 应用场景:家电企业生产效率优化

本文将重点介绍专门针对精益六西格玛黑带使用场景的 Python 库,这些库功能侧重于数据分析和流程优化,特别适用于 DMAIC 方法论和看板管理。考虑到读者具备中高级Python 使用经验,我们将深入探讨各库的高级功能和实际应用应用场景。 某家电企业生产线自动化程度高,数据量巨大,希望通过精益管理提升生产效率。企业借助 Python 脚本,打通各类数据源(MES、ERP、设备日志),自动归集生产数据,分析各工序的生产节拍、设备停机、效率损失,快速定位瓶颈环节

m0_56592100的博客 906

西电微机系统课程设计步进电机开环控制系统

** 微机系统与应用课程设计 课题二 步进电机开环控制系统设计** 一、程设计目的 掌握微机系统总线与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力。 加深对 A/D 和并行接口芯片的工作方式和编程方法的理解。 搞懂步进电机的工作原理及控制方式,掌握开环控制系统的设计思路和实现方法。 二、课程设计的内容 手动调节电位器旋钮(0V~5V),通过 ADC0809 模拟输入水库水位 0 米~50...

qq_37015775的博客 4038

实现UITableView上View的上拉隐藏下拉出现效果(2)

想了想,还是不上代码了,直接说思路。 在这里我们利用kvo观察tableView的contentOffset,首先判断何时tableView应该具备这个属性,如果tableView的contentInset没有一个屏幕的高度,那我们的这个动画也就没有必要显示了,所以tableView的contentOffset应该大于tableView的content距上边的距离,此时才可以具备这个属性。 在

Hg浩的博客 1593

告别Overleaf!本地LaTeX环境配置:VSCode+TeXLive完全指南(Windows/Mac双平台)

本文详细介绍了如何在Windows和Mac平台上配置本地LaTeX环境,使用VSCode和TeXLive打造高效的专业写作工作流。从TeXLive安装到VSCode插件配置,再到高级技巧与性能优化,帮助用户摆脱Overleaf限制,实现更快速、更私密的学术写作体验。

3c4x5z6v7b的博客 952

tableView实现第一个cell半遮挡tableHeaderView

问题描述实现如下效果图 居家头条的cell要半遮挡住顶部的banner,并且上下滑动的时候,banner也要滑动实现过程1.让顶部的tableHeaderView是一个空的view,并且设置tableHeaderView的高度等于Banner的高度减去要遮挡的高度。 UIView * view = [[UIView alloc] init]; view.backgroundCol

no pain !no gain ! 2057

《UDS协议从入门到精通(UDS速查手册)》(完结撒花版)

专栏总目录,文中介绍了UDS协议相关的基础知识和一些术语,给出了详细介绍6大类26种服务的跳转目录。

车载系统攻城狮 9万+

OpenOCD入门到精通:第 1 章 OpenOCD 概述

OpenOCD是一款开源的片上调试工具,支持60+调试适配器和8大处理器架构。它提供三大核心功能:片上调试、在系统编程和边界扫描测试。作为嵌入式开发工具链的中间桥梁,OpenOCD连接上层IDE/GDB与底层硬件,采用分层架构设计实现硬件兼容性。其配置基于Tcl脚本语言,支持网络服务接口,广泛应用于ARM、RISC-V等芯片的调试与烧录场景。

从事嵌入式linux android驱动开发,拥有全栈能力 1402

iOS中tableview中headerview总保持在屏幕上方和随着屏幕滑动一起移动至消失

1 : tableview中headerview总保持在屏幕上方 :  在代理方法中创建view,并添加到headerview上 l例子: - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {     if ([self.title isEqualToString

huhuahua6的专栏 8903

在虚拟机中对阿克曼转向车进行导航及避障的仿真测试

一、    在我使用rosdep install teb_local_planner去安装teb_local_planner的时候,报错:Command ‘rosdep’ not found, but can be installed with:sudo apt install python3-rosdep2    我花大半个月好不容易建立起的一系列ROS环境,被python3-rosdep2这条万恶的语句连同ROS一起给我删了。。。悲伤来的那么猝不及防    随着ROS版本的迭代,相关资料很多都不再适用

慕羽★的博客 3807

UITableHeaderView 高度自适用

使用 SDAutoLayout使UITableHeaderView高度自适用时, _table.tableHeaderView = self.headerView; [_table.tableHeaderView layoutIfNeeded]; 这样,tableHeaderView可以正常显示,但是我遇到,这样情况 UITableViewCell 也高度自适用时。会出现下面情况 列表在上下滚动时,tableView中间会多出一块,可以确定的这个是由于tableHeade...

lmyuanhang的专栏 1211

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

悬浮tableviewHeaderView方法

转载: http://www.jianshu.com/p/bfc5d4f6128e 巧妙实现悬浮tableviewHeaderView方法 字数532 阅读12163 评论2 喜欢39 效果图如下: 红色区域为headerView 红色区域为headerView 核心思路 将自定义的headerView放在tabView 的上面,而不是作为tableView.tableH

smilebigdear的专栏 1897

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

实现UITableView上View的上拉隐藏下拉出现效果(1)(category)

首先分析此动画实现的关键: 当这样一个需求摆在我眼前的时候,我首先想到tableView的delegate中包含了scrollView的delegate,那我只需要在scrollViewDidScroll:(UIScrollView *)scrollView中判断偏移量,然后再根据偏移量完成动画就可以了。但这里会产生问题,假如我本身的tableView还需要在scrollViewDidScrol

Hg浩的博客 1974

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

高仿喜马拉雅FM(第一弹)

项目地址github:https://github.com/Eastwu5788/XMLYFM 如果您觉得不错,记得给一个star高仿喜马拉雅FM(第二弹) 本篇文章有点长了,更多的内容在第二弹继续更新 最新用空闲时间写了一下喜马拉雅FM这款APP。 干货效果演示 多音频下载、本地播放功能演示 LocalDownload.gif 网络音频播放效果演示 PlayDetail.gif

github_35902923的博客 1273

tableview中在tableheaderView上放一个视图,第一次进入视图显示不正常,往下拉视图仍然不正常,往上拉视图正常...

解决办法: frame来源不正常,从直接在viewDidLoad方法中设置的frame,改为 - (void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; CGFloat SCREEN_WIDTH = [UIScreen mainScreen].bounds.size.width; ...

weixin_30273175的博客 157

tableview 上拉时 标题行出现在顶部不动效果

类似这种效果: 其实很简单,利用tableview 的plain属性,然后使用section,其实滑上去不动的是 section的headView. -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 3; } -(NSInteger)tableView:(UITa...

weixin_30340745的博客 168

UITableView 调整 Header 层级关系

UITableView 的 Header如何嵌在第一个 Cell 下面 为什么要调整层级关系 还用问嘛,当然是产品经理拿着四十米大刀告诉你我就要这个效果。 橙色 View 为轮播滚动效果。 一眼看过去,简单,就是 tableView + 一个 headerView 思路 让 headerView 的子视图比 Header高一点,就可以超出 headerView 占位高度,达到在第一个 Cell 的底部,完成 UI 小姐姐的交叉效果。 一顿猛操作 private func setupTableView

小桥流水哗啦啦,iOS Coder 哒哒哒 1373

关于tableview的headerview遮挡住cell的问题

最近项目里面出现了一个bug,具体描述是这样的: 朋友圈里面如果有“与我相关的消息”时,第一条朋友圈就会显示不全,具体如下图: 正如上图所示,没有“与我相关的消息“时,cell的内容是正常显示的,如果一旦有的话,就bug了 然后果断去寻找获得“与我相关的消息”的请求之后做了些什么,发现在获取到“与我相关的消息”的数据之后,只是改变了header的frame,其他的并没有什么操

q_littleStone的博客 5160
上一篇: iOS基础之OC简单控件知识了解
下一篇: tableViewCell列表点击展开显示二级列表
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值