swift:制作一个简单的tableheaderview+_navigationbar渐变效果

本文介绍了如何在Swift中制作一个简单的TableView Header与NavigationBar的渐变效果。通过扩展UINavigationBar并利用objc_getAssociatedObject添加自定义属性,实现了在tableView滚动时NavigationBar颜色的平滑变化。同时,文章提及了在实现过程中遇到的问题和解决方案,以及tableHeaderView的后续内容。
摘要由CSDN通过智能技术生成

swift:制作一个简单的tableHeaderView+ NavigationBar渐变效果(一)

写了什么?

一个十分普及且好看的tableHeaderView+NavigationBar的组合效果。虽然有很多大牛都写过类似的开源项目。出于学习swift的目的,写了一个swift版本,具体效果见下图。最终版代码已经上传到GitHubParallaxHeaderView

准备工作

开发xcode7、swift2.0。新建一个swift项目并达到如下截图所示效果。

编码

1:NavigationBar颜色渐变效果

细心的人一看就知道要达到所说的即颜色渐变效果无疑是两个步骤

1:设置NavigationBar的颜色

2:设置在tableView滚动的过程中NavigationBar的透明度,其实还是设置颜色

那么目的是十分明了的—我要改变NavigationBar的颜色。那么问题又来了,如何改变NavigationBar的颜色?方法很多,只列出下面三种

直接修改 NavigationBarbarTintColor属性。

(失败的尝试,不想了解可以跳过)

self.navigationController?.navigationBar.barTintColor = UIColor(red: 0/255.0, green: 130/255.0, blue: 210/255.0, alpha: 1)

看起来还不错的样子(StatusBar的颜色稍后再做调整),紧接着尝试在活动过程中修改它的透明度。

    override func scrollViewDidScroll(scrollView: UIScrollView) {

        //NavBar及titleLabel透明度渐变
        let color = UIColor(red: 0/255.0, green: 130/255.0, blue: 210/255.0, alpha: 1)
        let offsetY = scrollView.contentOffset
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值