swift:制作一个简单的tableHeaderView+ NavigationBar渐变效果(一)
写了什么?
一个十分普及且好看的tableHeaderView+NavigationBar的组合效果。虽然有很多大牛都写过类似的开源项目。出于学习swift的目的,写了一个swift版本,具体效果见下图。最终版代码已经上传到GitHubParallaxHeaderView
准备工作
开发xcode7、swift2.0。新建一个swift项目并达到如下截图所示效果。
编码
1:NavigationBar颜色渐变效果
细心的人一看就知道要达到所说的即颜色渐变效果无疑是两个步骤
1:设置NavigationBar的颜色
2:设置在tableView滚动的过程中NavigationBar的透明度,其实还是设置颜色
那么目的是十分明了的—我要改变NavigationBar的颜色。那么问题又来了,如何改变NavigationBar的颜色?方法很多,只列出下面三种
直接修改 NavigationBar的barTintColor属性。
(失败的尝试,不想了解可以跳过)
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