ios导航栏透明的十万个坑爹问题

功能需求:根新浪微博个人主页类似,下拉拉伸放大图片下拉刷新(前面文章已解决),向上滑动的时候,导航栏的透明度逐渐增加,最后变成不透明的。当然说起来感觉其实没什么,不就是滑动改变透明度吗,但是做起来完全不是你想象的那样。

首先解决透明度的问题,让导航栏透明起来,如何做呢,我刚开始的做法是根据之前的经验,直接在导航栏上贴一张透明的图片,但是由于项目原本就设置有蓝色的导航背景了,所以怎么改也改不过来,有种欲哭无泪的感觉,于是各种找原因,甚至把基类里面的东西都改了,结果不尽人意,于是在群里找大神问,终于有大神回话,给出了这篇文章,简直救命稻草,感觉作者的境况跟我类似,于是乎就认真看完,恍然大悟,原来导航条上竟然还有其他view,简直坑死人不要命,而且还没api。。。所幸作者比较强大,写了一个分类,于是我就直接取过来,然后开始设置

[self.navigationController.navigationBar lt_setBackgroundColor:[LE_BLUE_COLORcolorWithAlphaComponent:al]];

好了,终于透明了,当然,这句话是丢在-(void)viewWillAppear:(BOOL)animated里面,不然当出来的时候你会发现你的导航条还是蓝色的,只不过稍微一动就变透明了。。第一步完成了。。。

然后在scrollerview 的代理里面设置

#pragma mark - UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView*)scrollView

{

//下拉隐藏头部

if(scrollView ==self.zoneTableView) {

constantHeaderView.hidden= scrollView.contentOffset.y> -128?NO:YES;

}

//下拉伸伸图片

CGFloatyOffset = scrollView.contentOffset.y+64;//如果有导航控制器,这里应该加上导航控制器的高度64

if(yOffset < -IMAGEHEIGHT) {

CGRectframe =_zoomImageView.frame;

frame.origin.y= yOffset;

frame.size.height= -yOffset;

_zoomImageView.frame= frame;

}

//下拉刷新

if(yOffset < -IMAGEHEIGHT-60) {

[selfrefreshNuNuZoneInfo];

}

//下拉改变导航条的颜色

floatal =(yOffset +IMAGEHEIGHT)/IMAGEHEIGHT;

if( al <= 1) {

[self.navigationController.navigationBar lt_setBackgroundColor:[LE_BLUE_COLORcolorWithAlphaComponent:al]];

}else{

[self.navigationController.navigationBar lt_setBackgroundColor:[LE_BLUE_COLORcolorWithAlphaComponent:1]];

}

}

最下面这段就是,其他的可以当作没看见,之前有说过下拉拉伸图片和下拉刷新出现实践冲突的,就在这里解决。

下面就开始解决坑爹的玩意儿了,首先,当你点击cell跳转的时候你会发现其他页面的,你会发现其他页面的导航条变色了 0.0你能说什么呢,改!

- (void)viewDidDisappear:(BOOL)animated

{

[[BaiduMobStat defaultStat]pageviewEndWithName:@"关注"];

[superviewDidDisappear:animated];

[self.navigationController.navigationBar lt_setBackgroundColor:[LE_BLUE_COLORcolorWithAlphaComponent:1]];

_topView.hidden=YES;

}

在这个页面消失的时候 让导航条不透明,好了,解决了 。。。

然后继续滑动,然后跳转,好了下一页颜色没变化,但是!!!返回来之后怎么又透明了???,为什么呢,原来是在viewwill 里面设置的关系,真扯淡,改改!

-(void)viewWillAppear:(BOOL)animated{

CGFloatyOffset =zoneTableView.contentOffset.y+64;

floatal = (yOffset+IMAGEHEIGHT)/IMAGEHEIGHT;

if(al <= 1) {

[self.navigationController.navigationBar lt_setBackgroundColor:[LE_BLUE_COLORcolorWithAlphaComponent:al]];

}else{

[self.navigationController.navigationBar lt_setBackgroundColor:[LE_BLUE_COLORcolorWithAlphaComponent:1]];

}

_topView.hidden=NO;

[self.navigationController.navigationBar setShadowImage:[UIImage imageNamed:@"touming"]];

//开启定时器

[_myTimer setFireDate:[NSDate distantPast]];

}

好了,直接改成这样就不用再乱设置什么东西了,不然当你刚滑动到半透明的时候还会出现坑爹的问题,改这玩意改了一周多,遇到蛋疼问题不计其数。。。

还有

- (void)viewDidAppear:(BOOL)animated

{

[superviewDidAppear:animated];

if(!_isShowCollect) {

CGFloatyOffset =zoneTableView.contentOffset.y;

floatal = (yOffset+IMAGEHEIGHT)/IMAGEHEIGHT;

if(al <= 1) {

[self.navigationController.navigationBar lt_setBackgroundColor:[LE_BLUE_COLORcolorWithAlphaComponent:al]];

}else{

[self.navigationController.navigationBar lt_setBackgroundColor:[LE_BLUE_COLORcolorWithAlphaComponent:1]];

}

_topView.hidden=NO;

[self.navigationController.navigationBar setShadowImage:[UIImage imageNamed:@"touming"]];

[self.navigationController.navigationBar setShadowImage:[UIImage imageNamed:@"touming"]];

}

}

这个是其他页面遇到的问题,不想说什么了,我想静静,好累好累。。。

参考例子http://tech.glowing.com/cn/change-uinavigationbar-backgroundcolor-dynamically/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容

  • 1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现cl...
    以德扶人阅读 2,331评论 2 50
  • 1.NSString过滤特殊字符串定义一个特殊字符的集合NSCharacterSet set = [NSChara...
    奋拓达阅读 714评论 0 0
  • 许文惠推着满载的购物车在路边打车,购物车里有两袋米,两桶油,还有各种零食,估计有上百斤,许文惠推得很用力。路人都用...
    青如许阅读 494评论 0 8
  • 如果可以 我希望世界除了黑 就只剩下白 我厌恶灰色 纠扯在黎明之前 辨不清敌友 像寒冬散不去的迷雾 咫尺之间又隔着...
    不喜灰阅读 148评论 0 2
  • 读书随感: 可怜的格里高尓。温柔善良聪慧的妹妹最后却成了最想要终结他命运的刽子手。敦厚忠诚的性格反而被抛弃,原有的...
    Vesper_Xiao阅读 244评论 0 3