iOS 动态改变UINavigationController的颜色和透明度

来源:互联网 发布:android精美界面源码 编辑:程序博客网 时间:2024/06/03 22:40

动态改变导航栏的颜色和透明度

有一些应用在我们推拉滑动列表的时候会发现导航栏随着滑动的动作改变颜色和透明度。
这种效果其实实现起来是比较简单的。
这里利用的是 UIScrollview 的代理。每当 UIScrollView 滑动的时候就会掉用- (void)scrollViewDidScroll:(UIScrollView *)scrollView这个方法。我们只要在这个代理里面获取到 UIScrollView 的偏移量,根据偏移量来设置导航栏的颜色和透明度。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{    //先获取y轴偏移    CGFloat yOffset  = scrollView.contentOffset.y;    //设置透明度    CGFloat alpha = fabs(yOffset)/88.f;    //设置导航栏的图片    [self.navigationController.navigationBar setBackgroundImage:[self imageWithColor:[[UIColor orangeColor]colorWithAlphaComponent:alpha]] forBarMetrics:UIBarMetricsDefault];}
0 0
原创粉丝点击