首页 > 其他 > 详细

动态 改变导航栏透明度

时间:2015-01-26 22:20:40      阅读:331      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!