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

动态 改变导航栏透明度

时间:2015-01-26 22:20:55      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

 

#pragma mark - 实现代理方法  UINavigationBarDelegate 改变导航栏的颜色等功能

 

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated

{

    self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

    UIImage *image = [UIImage imageNamed:@"128"];

    [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

    UIView *view = self.navigationController.navigationBar.subviews[0];

    

    if (_tableView.contentOffset.y <= - 64) {

        

        self.navigationController.navigationBar.translucent = YES;

        view.alpha = 0;

    } else if(_tableView.contentOffset.y > - 64 && _tableView.contentOffset.y <= 0) {

    

        self.navigationController.navigationBar.translucent = YES;

            view.alpha = (64 - fabs(_tableView.contentOffset.y)) / 200.0f;//绝对值

 

    } else {

        

        view.alpha = (_tableView.contentOffset.y + 128) / 200.0f;

        if (view.alpha >= 1) {

            self.navigationController.navigationBar.translucent = NO;

        }

        

    }

    DLog(@"%f", _tableView.contentOffset.y);

    

}

 

动态 改变导航栏透明度

标签:

原文地址:http://www.cnblogs.com/iOS-mt/p/4251479.html

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