码迷,mamicode.com
首页 > 其他好文 > 详细

关于一些特定的自定义导航栏,tabBar,向上滑动可隐藏的代码

时间:2015-07-13 15:48:02      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

有些按钮在底部SCrollView滑动的时候却是不动的,原理是加在self.view上,再用 bringSubviewToFront 函数讲其层级调为最上层。导航栏位置的按钮就用 [self.navigationController.navigationBar bringSubviewToFront:btn2];

 

进入一个页面如果想让导航栏透明,消失。注意,如果在导航栏透明状态下推出一个新的页面,导航栏的透明属性会带过去。

这个时候需要在新页面的viewWillApper里边重新定义导航栏属性。------>>>>这个问题困扰了我三天。思维僵化了,没有变通。将问题交给王旭东以后,五分钟,就想到了这个解决方法。一提,我就明白了。只是有时候思维一旦僵化,很难做出这种方向上的转变,所以根本不会去想在第二个页面做调转,只想着在第一个页面推送之前处理好。

-(void)viewDidAppear:(BOOL)animated{

    self.navigationController.navigationBar.alpha=0.01;

    self.navigationController.navigationBar.translucent=YES;

}

 

要注意在生命周期结束的时候改回来,不然隐藏属性会带到下个页面。

-(void)viewWillDisappear:(BOOL)animated{

    self.navigationController.navigationBar.alpha=1.0;

    self.navigationController.navigationBar.translucent=NO;

}

 

 

对于上下滑动,导航栏渐变为不透明的动画,其实是一个scrollView的代理函数。原理是通过计算scrollView的偏移y量与固定值做百分比,将其定为透明度。

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{

    CGFloat f=scrollView.contentOffset.y;

    self.navigationController.navigationBar.alpha=f/150.0;

    UIButton *btn=(UIButton *)[self.view viewWithTag:10];

    btn.alpha=1.0-f/150.0;

}

 

关于一些特定的自定义导航栏,tabBar,向上滑动可隐藏的代码

标签:

原文地址:http://www.cnblogs.com/huketianxia/p/4642824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!