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

UINavigationController

时间:2015-05-25 22:15:18      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

1、UINavigationBar 背景色修改

- (void)viewWillAppear:(BOOL)animated

{

    UINavigationBar *bar = self.navigationController.navigationBar;

    //关键是这几句。。。。。

    [bar setTranslucent:NO];

    

    if (CURRENT_IOS_VERSION >= 7) {

        if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){

            [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg_title_up"] forBarMetrics:UIBarMetricsDefault];

        }

    }else{

        [bar setBackgroundImage:[Utility imageWithColor:[Utility stringToColor:@"#df4919"]] forBarMetrics:UIBarMetricsDefault];

        [bar.layer setMasksToBounds:YES];

        [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;

    }

    if ([UINavigationBar instancesRespondToSelector:@selector(setShadowImage:)])

    {

        [[UINavigationBar appearance] setShadowImage:[UIImage imageWithColor:[UIColor clearColor] size:CGSizeMake(320, 3)]];

    }    

    [super viewWillAppear:animated];

    //[MobClick beginLogPageView:NSStringFromClass([self class])];

}

 

2、设置返回按钮

-(void) setShowBackBtn:(BOOL)_showBackBtn

{

    showBackBtn = _showBackBtn;

    

    if (self.navigationController.navigationBarHidden)

    {

        UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

        [btn addTarget:self action:@selector(backAction:) forControlEvents:UIControlEventTouchUpInside];

        UIImage *normalImg = [UIImage imageNamed:@"icon_back_nomal"];

        UIImage *hightLightImg = [UIImage imageNamed:@"icon_back_press"];

        [btn setImage:normalImg forState:UIControlStateNormal];

        [btn setImage:hightLightImg forState:UIControlStateHighlighted];

        [btn  setFrame:CGRectMake(0, 22, 26, 39)];

        [btn setImageEdgeInsets:UIEdgeInsetsMake(10, 5, 10, 10)];

        [self.view addSubview:btn];

    } else {

        if (showBackBtn) {

            UIBarButtonItem *backItem = [UIFactory backItemWithTarget:self selector:@selector(backAction:)];

            if (CURRENT_IOS_VERSION < 7.0) {

                UIBarButtonItem *flexSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace

                                                                                           target:self

                                                                                           action:nil];

                flexSpacer.width = 10;

                

                [self.navigationItem setLeftBarButtonItems:[NSArray arrayWithObjects:flexSpacer,backItem, nil]];

                [flexSpacer release];

                

            }else{

                [self.navigationItem setLeftBarButtonItem:backItem];

            }

            

        }else{

            self.navigationItem.leftBarButtonItem = nil;

        }

    }

}

 

UINavigationController

标签:

原文地址:http://www.cnblogs.com/ldc529/p/4528795.html

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