知乎日报的导航栏做的很赞~但是ios里很难动态地修改navigation bar和status bar的颜色,所以写了一个UINavigationBar的Category:
https://github.com/ltebean/LTNavigationbar
实际效果如下:
1
Esay 2015-02-17 18:07:31 +08:00
赞。
提个小建议,能不能在用手势 push back 时也让 nav bar 动态变化 |
2
hewigovens 2015-02-17 18:07:54 +08:00
知乎日报那个应该没用 UINavigationController...
|
3
SeanChense 2015-02-17 19:03:14 +08:00
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{ UIColor * color = [UIColor colorWithRed:0/255.0 green:175/255.0 blue:240/255.0 alpha:1]; CGFloat offsetY = scrollView.contentOffset.y; if (offsetY > NAVBAR_CHANGE_POINT) { CGFloat alpha = 1 - ((NAVBAR_CHANGE_POINT + 64 - offsetY) / 64); [self.navigationController.navigationBar useBackgroundColor:[color colorWithAlphaComponent:alpha]]; } else { [self.navigationController.navigationBar useBackgroundColor:[color colorWithAlphaComponent:0]]; } } 这段逻辑有没有可能放到 `UINavigationBar+BackgroundColor.h` 里呢? |
4
CDuXZMAPgHp1q9ew 2015-02-17 19:52:12 +08:00
应该可以吧 用kvo
|
5
ltebean OP @hewigovens 嗯因该是没用navigation controller,感觉那样实现起来还更容易。 这个category主要是为了方便动态地改navbar的颜色~
|
6
ltebean OP @SeanChense 这个category主要是为了能够动态地改navbar的backgroundColor~至于颜色是跟着scrollView走还是一个pan gesture或是其他什么触发条件还是要看具体app需要的
|
7
lyojo 2015-02-24 21:57:29 +08:00
为什么不设置navigationBar隐藏,然后放置一个透明的view,在view上面添加两个按钮,然后在tableview 的scrollview delegate的监听滚动事件方法里面去修改那个透明view的alpha值,这样比较简单。
|
9
dopcn 2015-03-02 22:57:07 +08:00
cool
|
10
dopcn 2015-03-02 23:33:51 +08:00
请问这个 key backgroundOverlay 你是怎么找到的,view debugging 的时候只显示是一个 UIView
|
12
ashamp 2015-03-09 13:58:08 +08:00
准备下载下来看看 可能用得上
|
13
ashamp 2015-03-09 14:05:24 +08:00
下下来看了,效果确实不错!就是用的sb太不习惯 哈哈
|
14
ashamp 2015-03-09 14:19:58 +08:00
600多个star!厉害!
|
15
kepenj 2015-03-10 10:52:52 +08:00
赞
|