236

如何在没有标题的 iOS 7 及更高版本中自定义导航返回按钮?(即只有箭头)

self.navigationItem.leftBarButtonItem = self.editButtonItem;

我只是想知道他们是否有任何 self.backButtonItem;

或者

像这样的东西?

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
                   initWithBarButtonSystemItem:UIBarButtonSystemItemBACK 
                   target:self action:@selector(back)];
4

36 回答 36

318

这实际上很容易,这就是我所做的:

目标 C

// Set this in every view controller so that the back button displays back instead of the root view controller name
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

斯威夫特 2

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)

斯威夫特 3

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)

将此行放在正在推送到堆栈的视图控制器中(前一个视图控制器)。新推的视图控制器后退按钮现在将显示您为 initWithTitle 放置的任何内容,在本例中为空字符串。

于 2013-10-02T06:27:48.707 回答
197

我找到了一种使用 iOS 单箭头制作后退按钮的简单方法。

假设您有一个导航控制器从 ViewB 到 ViewA。在 IB 中,选择 ViewA 的导航栏,您应该会看到以下选项:Title、Prompt 和 Back Button。

ViewA 导航栏选项

ViewA 导航栏选项

诀窍是在前一个视图控制器(视图 A)的选项中选择您的命运视图控制器后退按钮标题(视图 B)。如果您没有填写“Back Button”选项,iOS 会自动将标题“Back”与前一个视图控制器的标题放在一起。因此,您需要用一个空格填充此选项。

在“返回按钮”选项中填充空格

填充空间

结果:

结果:

于 2013-11-30T13:02:15.870 回答
76

只需使用图像!

OBJ-C

- (void)viewDidLoad {
     [super viewDidLoad];
     UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Icon-Back"]
                                                                                        style:UIBarButtonItemStylePlain
                                                                                       target:self.navigationController
                                                                                       action:@selector(popViewControllerAnimated:)];
     self.navigationItem.leftBarButtonItem = backButton;
}

斯威夫特 4

let backBTN = UIBarButtonItem(image: UIImage(named: "Back"), 
                              style: .plain, 
                              target: navigationController, 
                              action: #selector(UINavigationController.popViewController(animated:)))
navigationItem.leftBarButtonItem = backBTN
navigationController?.interactivePopGestureRecognizer?.delegate = self

图标返回.png

图标返回

图标-Back@2x.png

图标-返回@2x

图标-Back@3x.png

图标-返回@23x

于 2015-05-07T19:38:14.680 回答
29

iOS7 有新的界面规则,所以在推送 UIView 时最好至少保留后退箭头。以编程方式更改“后退”文本非常容易。只需在推送视图之前添加此代码(或者如果您使用 StoryBoards,则为 prepareForSegue):

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
      self.navigationItem.backBarButtonItem=[[UIBarButtonItem alloc] initWithTitle:@"NEW TITLE" style:UIBarButtonItemStylePlain target:nil action:nil];
}

这将更改默认的“后退”文本,但会保留 iOS7 样式的后退箭头。您还可以在推送视图之前更改后退箭头的色调颜色:

- (void)viewDidLoad{
     //NavBar background color:
     self.navigationController.navigationBar.barTintColor=[UIColor redColor];
//NavBar tint color for elements:
     self.navigationController.navigationBar.tintColor=[UIColor whiteColor];
}

希望这对你有帮助!

于 2013-10-04T17:19:05.583 回答
26

你不需要做太多的事情。您可以通过情节提要本身实现相同的目的。

只需转到根导航控制器并留出空间。请记住,不要对您想要没有标题的后退按钮的控制器,而是对根导航控制器。

根据下图。 这适用于 iOS 7 和 iOS 8

于 2015-06-01T06:42:48.427 回答
22

这可行,但它会删除前一个项目的标题,即使你弹回它:

self.navigationController.navigationBar.topItem.title = @"";

只需viewDidLoad在推送的视图控制器上设置此属性。

于 2013-11-08T23:42:54.737 回答
22

虽然凯尔贝格曼的回答完全可以解决问题,但在每个可能的视图控制器中都有这段代码是很烦人的。我最终得到了一个简单的UINavigationItem类别。当心,这里有龙!对不起,我的意思是,混乱:

#import <objc/runtime.h>

@implementation UINavigationItem (ArrowBackButton)

static char kArrowBackButtonKey;

+ (void)load {
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        Method m1 = class_getInstanceMethod(self, @selector(backBarButtonItem));
        Method m2 = class_getInstanceMethod(self, @selector(arrowBackButton_backBarButtonItem));
        method_exchangeImplementations(m1, m2);
    });
}

- (UIBarButtonItem *)arrowBackButton_backBarButtonItem {
    UIBarButtonItem *item = [self arrowBackButton_backBarButtonItem];
    if (item) {
        return item;
    }

    item = objc_getAssociatedObject(self, &kArrowBackButtonKey);
    if (!item) {
        item = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleBordered target:nil action:NULL];
        objc_setAssociatedObject(self, &kArrowBackButtonKey, item, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    }
    return item;
}

@end
于 2014-03-22T22:53:26.393 回答
21

编辑:2014-04-09:当我获得声誉时,我感到很抱歉,因为我不再使用这个技巧了。我推荐凯尔的回答。另请注意,显示后退按钮selfself.navigationItem.backBarButtonItem不是视图控制器,而是要返回的前一个视图控制器。

如果你不需要前一个视图控制器的标题文本,只需用空白字符串填充标题即可;

self.navigationItem.title = @"";
[self.navigationController pushViewController:viewController animated:YES];

这将防止在推送的视图控制器上显示带有雪佛龙的“后退”。

编辑:即使您使用非空白标题文本,在viewWillAppear:作品中设置前一个视图控制器的标题,除了标题可以在视图控制器弹出时闪烁。我认为“推特应用程序”似乎做了更微妙的破解来避免闪烁。

于 2013-09-26T02:47:06.510 回答
12

这就是我的做法,也是最简单、最有效、最清晰的做法。

如果嵌入,这有效Navigation Controller

斯威夫特 3

viewDidLoad我将它添加到视图控制器中,您希望后退按钮只是箭头。

if let topItem = self.navigationController?.navigationBar.topItem {
   topItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
}

这与@Kyle Begeman 的回答的不同之处在于您在视图控制器上调用它,您希望后退按钮只是箭头,而不是在推送堆栈视图控制器上。

于 2017-05-06T21:57:10.123 回答
7

您无法以您想要的方式访问导航 backButtonItem,您需要创建自己的后退按钮,如下所示:

- (void)loadView
{
    [super loadView];
    UIButton *backButton = [[UIButton alloc] initWithFrame: CGRectMake(0, 0, 44.0f, 30.0f)];
    [backButton setImage:[UIImage imageNamed:@"back.png"]  forState:UIControlStateNormal];
    [backButton addTarget:self action:@selector(popVC) forControlEvents:UIControlEventTouchUpInside];
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
}

当然:

- (void) popVC{
  [self.navigationController popViewControllerAnimated:YES];
}
于 2013-09-18T10:59:04.347 回答
7

目标: 将所有后退按钮自定义UINavigationBar为白色图标

步骤: 1.在AppDelete的“didFinishLaunchingWithOptions”方法中:</p>

UIImage *backBtnIcon = [UIImage imageNamed:@"navBackBtn"];


if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
    [UINavigationBar appearance].tintColor = [UIColor whiteColor];
    [UINavigationBar appearance].backIndicatorImage = backBtnIcon;
    [UINavigationBar appearance].backIndicatorTransitionMaskImage = backBtnIcon;
}else{

    UIImage *backButtonImage = [backBtnIcon resizableImageWithCapInsets:UIEdgeInsetsMake(0, backBtnIcon.size.width - 1, 0, 0)];
    [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage  forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

    [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -backButtonImage.size.height*2) forBarMetrics:UIBarMetricsDefault];
}

viewDidLoad2.在普通超ViewController类的方法中:

 if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
        UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@""
                                                                     style:UIBarButtonItemStylePlain
                                                                    target:nil
                                                                    action:nil];
        [self.navigationItem setBackBarButtonItem:backItem];
    }else{
        //do nothing
    }
于 2014-02-24T10:27:22.503 回答
7

斯威夫特 4

对于那些希望创建自定义后退按钮以及删除其标题的人,请在推动新按钮的视图控制器中使用以下代码:

self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "close")
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "close")
self.navigationItem?.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)

要获得更普遍的用途,请执行以下操作:

  1. 创建一个通用函数如下:

    func addCustomizedBackBtn(navigationController: UINavigationController?, navigationItem: UINavigationItem?) {
        navigationController?.navigationBar.backIndicatorImage = UIImage(named: "close")
        navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "close")
        navigationItem?.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
    }
    
  2. 然后在视图控制器中使用它,如下所示:

    addCustomizedBackBtn(navigationController: self.navigationController, navigationItem: self.navigationItem)
    
于 2018-11-27T14:37:58.867 回答
6

iOS6 的简单 hack 也适用于 iOS7:

[UIBarButtonItem.appearance setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];

编辑: 不要使用这个黑客。详情见评论。

于 2013-10-02T08:22:36.247 回答
3

你可以用这个。只需将 a 添加UIButtonUIBarButtonItem.

试试下面的代码

    self.navigationItem.leftBarButtonItem=[self backButton];


- (UIBarButtonItem *)backButton
{
    UIImage *image = [UIImage imageNamed:@"back-btn.png"];
    CGRect buttonFrame = CGRectMake(0, 0, image.size.width, image.size.height);

    UIButton *button = [[UIButton alloc] initWithFrame:buttonFrame];
    [button addTarget:self action:@selector(backButtonPressed) forControlEvents:UIControlEventTouchUpInside];
    [button setImage:image forState:UIControlStateNormal];

    UIBarButtonItem *item= [[UIBarButtonItem alloc] initWithCustomView:button];

    return item;
}
于 2013-11-29T10:24:35.737 回答
3
 // add left bar button item

try this code:

- (void)viewDidLoad
{ 
    [super viewDidLoad];

   UIImage* image_back = [UIImage imageNamed:@"your_leftarrowImage.png"];
    CGRect backframe = CGRectMake(250, 9, 15,21);
    UIButton *backbutton = [[UIButton alloc] initWithFrame:backframe];
    [backbutton setBackgroundImage:image_back forState:UIControlStateNormal];
    [backbutton addTarget:self action:@selector(Btn_back:)
         forControlEvents:UIControlEventTouchUpInside];
    [backbutton setShowsTouchWhenHighlighted:YES];
    UIBarButtonItem *backbarbutton =[[UIBarButtonItem alloc] initWithCustomView:backbutton];
    self.navigationItem.leftBarButtonItem=backbarbutton;
    [backbutton release];

}
-(IBAction)Btn_back:(id)sender
{
    [self.navigationController popViewControllerAnimated:YES];

}
于 2014-03-24T07:15:48.300 回答
3

为你的根视图控制器创建一个UILabel你想要的标题,并将它分配给视图控制器的navigationItem.titleView.

现在将标题设置为空字符串,您按下的下一个视图控制器将有一个没有文本的后退按钮。

self.navigationItem.titleView = titleLabel; //Assuming you've created titleLabel above
self.title = @"";
于 2014-01-06T23:55:50.400 回答
3

所有的答案都不能解决问题。在每个视图控制器中设置后退按钮标题并且向标题添加偏移量仍然会使下一个视图控制器标题向右移动是不可接受的。

这是使用方法 swizzling 的方法,只需为 UINavigationItem 创建新的扩展

import UIKit

extension UINavigationItem {
    public override class func initialize() {

    struct Static {
        static var token: dispatch_once_t = 0
    }

    // make sure this isn't a subclass
    if self !== UINavigationItem.self {
        return
    }

    dispatch_once(&Static.token) {
        let originalSelector = Selector("backBarButtonItem")
        let swizzledSelector = #selector(UINavigationItem.noTitleBackBarButtonItem)

        let originalMethod = class_getInstanceMethod(self, originalSelector)
        let swizzledMethod = class_getInstanceMethod(self, swizzledSelector)

        let didAddMethod = class_addMethod(self, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod))

        if didAddMethod {
            class_replaceMethod(self, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
        } else {
            method_exchangeImplementations(originalMethod, swizzledMethod)
        }
    }
}

// MARK: - Method Swizzling

struct AssociatedKeys {
    static var ArrowBackButtonKey = "noTitleArrowBackButtonKey"
}

func noTitleBackBarButtonItem() -> UIBarButtonItem? {
    if let item = self.noTitleBackBarButtonItem() {
        return item
    }

    if let item = objc_getAssociatedObject(self, &AssociatedKeys.ArrowBackButtonKey) as? UIBarButtonItem {
        return item
    } else {
        let newItem = UIBarButtonItem(title: " ", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
        objc_setAssociatedObject(self, &AssociatedKeys.ArrowBackButtonKey, newItem as UIBarButtonItem?, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
        return newItem
    }
}
}
于 2015-12-07T09:29:43.610 回答
2

我在 viewDidLoad 中应用了以下代码,它可以工作:

  // this will set the back button title
self.navigationController.navigationBar.topItem.title = @"Test";

 // this line set the back button and default icon color  

//[[self.navigationController.navigationBar.subviews lastObject] setTintColor:[UIColor blackColor]];

this line change the back default icon to your custom icon
[[self.navigationController.navigationBar.subviews lastObject] setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"menuicon"]]];

只是为了更新我使用矢量图标

于 2014-01-18T06:44:36.577 回答
2

可以继承 UINavigationController,将自身设置为委托,并在委托方法中设置 backBarButtonItemnavigationController:willShowViewController:animated:

@interface Custom_NavigationController : UINavigationController <UINavigationControllerDelegate>

@end

@implementation Custom_NavigationController

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.delegate = self;
}

#pragma mark - UINavigationControllerDelegate

- (void)navigationController:(UINavigationController *)navigationController     willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    viewController.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
}

@end
于 2015-01-14T18:29:41.790 回答
2

将标题设置为空

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@""  style:UIBarButtonItemStyleDone target:self action:@selector(handleBack:)];
[backButton setTintColor:Color_WHITE];
[self.navigationItem setBackBarButtonItem:backButton];

换回图片

 UIImage *backImg = [[UIImage imageNamed:@"ic_back_white"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[UINavigationBar appearance].backIndicatorImage = backImg;
[UINavigationBar appearance].backIndicatorTransitionMaskImage = backImg;
于 2016-03-21T03:06:17.437 回答
2

检查这个答案

如何更改 UINavigationController 后退按钮名称?

title文本设置为string一个空格,如下所示

title = " "

没有足够的声誉来添加评论:)

于 2017-06-29T05:14:08.263 回答
1

自 iOS 5 左右以来,我一直在使用此解决方案,没有任何问题。我制作了一个实用函数,我在视图控制器中调用它。您需要在 viewDidLoad 或之后的任何时候执行此操作。

void updateBackButtonTextForViewController(UIViewController *viewController, NSString *text)
{
    if(! viewController.navigationItem.backBarButtonItem)
    {
        viewController.navigationItem.backBarButtonItem =
        [[UIBarButtonItem alloc] initWithTitle:text
                                         style:UIBarButtonItemStylePlain
                                        target:nil action:nil];
    }
    else
    {
        viewController.navigationItem.backBarButtonItem.title = text;
    }
}

在某些情况下,导航项可能已经存在,在其他情况下需要创建。这在不影响导航项标题的情况下解决了这两种情况。它允许您通过简单地传递来删除标题@""

于 2013-11-06T20:30:08.627 回答
1

如果你设置了 NavigationBar 的 tintColor,添加一个自定义的没有标题的后退按钮图像,该 tint 颜色将反映图像颜色。请按照这个苹果文档链接。

https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/UIKitUICatalog/index.html#//apple_ref/doc/uid/TP40012857-UIView-SW7

UINavigationItem *navItem = [[UINavigationItem alloc] init];
   navBar.tintColor = self.tintColor;

   UIImage *myImage = [UIImage imageNamed:@"left_arrow.png"];
     myImage = [myImage              imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];

     UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithImage:myImage style:UIBarButtonItemStylePlain target:self action:@selector(cancelButtonFunction:)];
     navItem.leftBarButtonItem = leftButton;

    navBar.items = @[ navItem ];
于 2016-11-03T13:37:14.890 回答
1

如果您在导航控制器中嵌入了两个 ViewController(FirstVC, SecondVC),并且您希望 SecondVC 中只有后退箭头。

你可以试试这个在 FirstVC 的 ViewDidLoad

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)
}

然后当你推入 SecondVC 时,你会看到只有后退箭头

于 2016-07-18T08:07:06.773 回答
1

您可以在 viewWillDisappear 上将当前 ViewController 的标题更改为 @"",并在它即将再次显示时将标题重新设置为之前的任何内容。

-(void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.title = @"Previous Title";
}

-(void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    self.title = @"";
}
于 2018-09-21T14:05:39.417 回答
1

对我有用的唯一方法是:

navigationController?.navigationBar.backItem?.title = ""

更新:

当我将 segue 动画标志更改为 true (之前是 false )时,对我有用的唯一方法是:

navigationController?.navigationBar.topItem?.title = ""
于 2016-07-05T13:03:21.717 回答
1

我写了一个扩展来使这更容易:

extension UIViewController {

    /// Convenience for setting the back button, which will be used on any view controller that this one pushes onto the stack
    @objc var backButtonTitle: String? {
        get {
            return navigationItem.backBarButtonItem?.title
        }
        set {
            if let existingBackBarButtonItem = navigationItem.backBarButtonItem {
                existingBackBarButtonItem.title = newValue
            }
            else {
                let newNavigationItem = UIBarButtonItem(title: newValue, style:.plain, target: nil, action: nil)
                navigationItem.backBarButtonItem = newNavigationItem
            }
        }
    }

}
于 2018-03-09T10:49:31.470 回答
0

要添加到上面Thomas C 的答案,有时放置一个空格是行不通的,您必须不断添加空格。

空栏按钮

当您在“导航项”下看到“条形按钮项-”时,您就知道您成功了。那在文档大纲中(编辑器->显示文档大纲)。看到上图后,可以删掉几个空格,看看还能不能用。

于 2014-01-21T03:54:54.533 回答
0

在第一个 ViewController 的 prepareForSegue: 方法中,您将该视图标题设置为 @"",因此当推送下一个视图时,它将显示上一个 ViewController 标题,即 @""。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    self.navigationItem.title = @" ";
}

唯一的问题是,当您点击返回按钮时,您之前的视图将没有标题,因此您可以在 viewWillAppear 上再次添加它:

-(void)viewWillAppear:(BOOL)animated{
   self.navigationItem.title = @"First View Title";
}

我不太喜欢这个解决方案,但它有效,我没有找到其他方法来做到这一点。

于 2013-10-29T05:06:35.740 回答
0
- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        // Custom initialization
        self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

    }
    return self; 
}

就像 Kyle Begeman 所做的那样,您将上面的代码添加到您的根视图控制器中。所有子视图控制器都将被应用。此外,将其添加到 initWithCoder: 方法中,您可以将样式应用于 xib、情节提要或基于代码的方法中的根视图控制器。

于 2015-07-14T10:23:37.943 回答
0
  1. 将新的 UIBarButtonItem 添加到 UINavigationItem 到左侧
  2. 更改 UIBarButtonItem 如何使用
  3. 现在,单击 UINavigationItem 并将 barBackButtonItem 从网点滑动到左侧 UIBarButtonItem

在此处输入图像描述

于 2017-06-28T15:29:06.977 回答
0
  • 改为backItem.title = ""使用topItem.title = ""
  • 设置navigationItem.hidesBackButton = true&navigationItem.leftBarButtonItem将失去返回手势
  • 请记住,我们必须创建 2 个背面图像的实例

我的解决方案将更改图像并保持后退手势:

navigationController?.navigationBar.backIndicatorImage = UIImage(named: "back")
navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "back")
navigationController?.navigationBar.topItem?.title = ""
于 2020-09-26T14:10:27.080 回答
0

您可以将该类别放在 AppDelegate.m 文件中。从 UINavigation 中的所有默认后退按钮中删除文本。仅箭头“<”或根据需要设置自定义图像。

目标-c:

...

@结尾

@implementation UINavigationItem(扩展)

- (UIBarButtonItem *)backBarButtonItem {

    return [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
}

@结尾
于 2017-08-15T13:18:52.730 回答
0

将返回按钮项目标题设置为空字符串。

[self.navigationController.navigationBar.backItem setTitle:@""];

于 2017-10-27T05:15:52.593 回答
-1

这对我有用

[[UIBarButtonItem appearance] 
setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000, -1000) 
forBarMetrics:UIBarMetricsDefault];

一切顺利

于 2014-02-10T18:51:58.027 回答
-1

这适用于 iOS6 和 7

Xamarin(C#) 选项

var buttonStyleItems = UIBarButtonItem.AppearanceWhenContainedIn(typeof(SettingsNavigationController));
buttonStyleItems.SetBackButtonTitlePositionAdjustment(new UIOffset(-1000, -1000), UIBarMetrics.Default);

Objective-C 选项

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000, -1000) forBarMetrics:UIBarMetricsDefault];

于 2013-10-11T09:56:31.710 回答