浅谈个人主页头部下拉变大的思路

其实就是在ViewController上先放一个image,就是你想要下拉的时候放大的,然后再放置一个tableView ,并设置

.tableHeaderView=headView 背景为透明色,并且headView的高度比image的高度小点以免在下拉的时候 出现白色不衔接的状态,

如果想要在头部在添加一个签名,个人头像什么的 都可以放在headView上 并且不随着背景图片的变大变小改变,

最主要的就是在滑动单元格的时候 ,控制image的位置,使image看起来就是跟着tableview 一起滑动的, 即在

- (void)scrollViewDidScroll:(UIScrollView *)scrollView方法里

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    //往上滑动offset增加,往下滑动,yoffset减小
    CGFloat yoffset = scrollView.contentOffset.y;
    //处理背景图的放大效果和往上移动的效果
    if (yoffset>0) {//往上滑动

        _headImageView.frame = ({
            CGRect frame = self.origialFrame;
            frame.origin.y = self.origialFrame.origin.y - yoffset;
            frame;
        });
    }else {//往下滑动,放大处理
        _headImageView.frame = ({
            CGRect frame = self.origialFrame;
            frame.size.height = self.origialFrame.size.height - yoffset;
            frame.size.width = frame.size.height*1.5;
            frame.origin.x = _origialFrame.origin.x - (frame.size.width-_origialFrame.size.width)/2;
            frame;
        });
    }

控制放大情况 以及位置。

时间: 2024-07-29 08:44:48

浅谈个人主页头部下拉变大的思路的相关文章

歌手详情页:下拉方大歌手图片

1.缩放图片: 1 // 背景图片的缩放 2 let scale = 1 3 const percent = Math.abs(newY/this.imageHeight)//这么计算,图片的高度相当于增加了newY; 4 if(newY > 0){//向下拉的时候 5 scale = 1 + percent 6 } 7 this.$refs.bgImage.style['transform'] = `scale(${scale})` 8 this.$refs.bgImage.style['we

浅谈SDN架构下的运维工作

导读 目前国内的网络运维还处于初级阶段,工作人员每天就像救火一样,天天疲于奔命.运维人员只能埋头查找系统运行的日志,耗时耗力,老眼昏花不说,有时候忙了半天还一无所获,作为运维工程师的你,有木有遇到过类似苦逼的经历? 目前国内的网络运维还处于初级阶段,工作人员每天就像救火一样,天天疲于奔命."什么破网络怎么又断了","我去,服务器宕机啊","这个网速慢的跟乌龟爬的一样",这些埋怨声每天都在运维人员耳边回荡.运维人员只能埋头查找系统运行的日志,耗时耗

GTK+浅谈之一Windows10下QtCreator中GTK+环境搭建(十几篇)

一.简介 虽然GTK+是Linux下的开发环境,因为其跨平台特性,有时候需要在Windows上用到它的.如下是在Windows10下配置GTK+的开发环境.        Gnome的开发基础结构是围绕一组函数库的,所有的内容都是用可移植的ANSI C语言写成的,可以用于所有类UNIX系统,与图形相关的函数库依赖于X Window系统. Gnome函数库是最高层的.GTK+由两部分组成,GTK和GDK. GTK层为C语言提供了一个对象模型,并为UI工具包提供了最基本的widget,它是上层GUI

浅谈HTTP协议(下)

下面来讲响应消息.响应消息也分为响应起始行.响应头部.CRLF.响应主体. 响应起始行包括协议版本.响应状态码.原因短句.这里的重点就是响应状态码,它一共分为5类,状态码准确的说是一个三位数. 1xx:表示这段信息的作用主要是提示. 2xx:成功的响应. 3xx:需要客户端重定向. 4xx:客户端请求错误. 5xx:服务器端运行错误. 下面举一些常见的例子: 100:Continue,服务器收到了请求的初始部分,请客户端继续. 101:Switching Protocols,切换协议. 200:

浅谈“互联网+”浪潮下传统行业的战略转型

"互联网+"时代来临,越来越多的互联网企业入侵传统行业,越来越多的传统企业面临战略转型.对于互联网企业来说,快速的产品推广和灵活的用户运营是他们的优势,但是在线下门店,服务和产品质量上存在先天不足,并且短时间内无法弥补:对于传统企业来说,多年的市场经营使他们构建了完善的供应链上下游关系.但如何适应新时代的互联网运营模式,更快的完成产品推进,不是他们擅长的方面.因此传统行业和互联网行业的互相融合已成为当今中国企业战略转型的核心. 下面简单描述两个例子帮助大家理解"互联网+&qu

浅谈当前情况下的视频内容收费

这一两周,观众的很多焦点都放在了影视内容上面了,例如刚拉开序幕的上海电影节引起了众多人的关注,还有近期的一些电视电影热剧,也让互联网视频网站成为流量激增的入口.其中,各个互联网视频平台也纷纷让视频逐渐走上付费的道路.我们都知道,在早之前,以优酷为代表的视频网站很大一部分都是以广告作为主要收入,这些视频点播网站为了增加收入,会延长广告的播放时间.而最近热播的电视剧<花千骨>为例,广告播放时间都超过60秒,有的网站还超过90秒的,如此超长的广告时间,很显然会给用户带来极差的体验,这就与互联网用户体

浅谈安卓按键下的变量命名

一般我们在安卓按键下定义变量 比如dim a,b,c,d 测试代码的时候学习知识的时候的确足够用了 但是一旦脚本规模比较大  整个脚本的流程比较长  如果用这种 变量名a,b c,d 不单单是容易重复冲突 还可能会看不出这里到底是干什么的 所以呢 我们要命名变量需要有一顶的意义  我举个例子  比如上图的界面 我们要给上图的界面中间的那个弹出窗口命名一下 我的命名是这样的 多点找色_低电量模式提示窗口=array(0,0,200,200,) 多点找色_登录界面=array(0,0,200,200

浅谈HTTP FTP和P2P网络大文件传输的优劣势

随着各种行业和硬件设备的发展,大文件越来越多,比如在媒体行业为了保证图片和视频的清晰,和以前的相比,都比较大,尤其是出版社等行业.确保大文件能快速的传输,现在很多企业还是使用的硬盘邮寄的方式.如果使用网上传输的方式,可以实现吗? 想弄清楚这个问题,我们首先用知道现在网上信息传输常用的方式HTTP FTP和P2P优劣势.我们一起来看下吧: 1. Http传输:比较传统的文件分发方式,优点是部署方便,一般会采用IIS.Apache.Nginx.Tomcat等web服务器,基本上能运行网站的web服务

浅谈BloomFilter【下】用Java实现BloomFilter

通过前一篇文章的学习,对于 BloomFilter 的概念和原理.以及误报率等计算方法都一个理性的认识了. 在这里,我们将用 Java'实现一个简单的 BloomFilter . package pri.xiaoye.day1029; import java.io.Serializable; import java.nio.charset.Charset; import java.security.MessageDigest; import java.security.NoSuchAlgorit