美文网首页
关于导航返回按钮

关于导航返回按钮

作者: 心底碎片 | 来源:发表于2017-05-25 15:24 被阅读60次

    一般而言,app的返回按钮都是一致的,所以可以在AppDelegate中做统一的样式,
    代码如下:

    //修改返回按钮样式
        [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];
        [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
        //状态栏颜色
        [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
    

    这样的话,返回按钮的事件就是返回到上一级页面,但是有时候会遇到,需要返回到指定页面,这样的话,就需要自定义返回按钮,问题又出现了,返回按钮跟左侧边距和统一的返回按钮不一致。我也试试了很多种,才找到方法。
    就是定义两个按钮,左边的按钮用来控制左边距,右边的才是真正看到的按钮。
    代码如下:

    self.navigationItem.hidesBackButton = YES;
        UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        [backBtn setBackgroundImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
        [backBtn addTarget:self action:@selector(Go2Click) forControlEvents:UIControlEventTouchUpInside];
        backBtn.frame = CGRectMake(0, 0, 22, 33);
        UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithCustomView:backBtn];
        UIBarButtonItem *nagetiveSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
        //自己根据需要设置
        nagetiveSpacer.width = -10;
        //两个返回按钮,一个用来控制左边距
        self.navigationItem.leftBarButtonItems = @[nagetiveSpacer, item];
    

    end

    相关文章

      网友评论

          本文标题:关于导航返回按钮

          本文链接:https://www.haomeiwen.com/subject/xfkzxxtx.html