0

我正在使用故事板并开发iPhone应用程序并使用导航控制器。使用默认导航栏文本

当我实现它时,我注意到它使用视图的名称而不是使用默认的“后退”文本,有没有办法强制它使用“后退”?

感谢

回答

0

当你出现在UINavigationController,想必在你的应用程序的委托,使应用程序的委托也是导航控制器的委托。然后查看被弹出并推视图控制器:

AppController.h

#import <UIKit/UIKit.h> 

@interface AppController.h : NSObject 
<UIApplicationDelegate, UINavigationControllerDelegate> 
{ 
    UIWindow *window; 
    UINavigationController *viewController; 
} 
/* MARK: Interface Outlets */ 
@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet UINavigationController *viewController; 
@end 

AppController.h

#import "AppController.h" 

@implementation AppController.h 
/* MARK: Init and Dealloc */ 
- (void)dealloc { 
    self.window = nil; 
    self.viewController = nil; 

    [super dealloc]; 
} 

/* MARK: Interface Outlets */ 
@synthesize window, viewController; 

/* MARK: Application Delegate */ 
- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    assert(self.window != nil); 
    assert(self.viewController != nil); 

    self.viewController.delegate = self; 

    /* other initialization */ 

    [self.window makeKeyAndVisible]; 

    return YES; 
} 

/* MRK: Navigation Controller Delegate */ 
- (void)navigationController:(UINavigationController *)navigationController 
     willShowViewController:(UIViewController *)vc 
        animated:(BOOL)animated 
{ 
    UIBarButtonItem *myItem = /* initialize */; 

    navigationController.topViewController.navigationItem.backBarButtonItem = nil; 
    navigationController.topViewController.navigationItem.backBarButtonItem = myItem; 
} 
@end 

此外,还可以通过检查阉-[NSObject isKindOfClass:]忽略自定义视图控制器匹配想要的视图控制器。

0

http://osmorphis.blogspot.com/2009/03/trapping-uinavigationbar-back-button.html

您可以在标准的后退按钮更改的唯一事情是文本。默认情况下,这是控制器的标题。你可以用这样的代码更改:

[self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"New Title" style:UIBarButtonItemStyleBordered target:nil action:nil]; 

只需更换

initWithTitle:@"New Title" 

initWithTitle:@"Back" 
0

试着问问题之前,进行搜索。

似乎您可以将以下代码添加到调用钻取的控制器,即master-detail中的主控。

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil]; 
self.navigationItem.backBarButtonItem = backButton; 
[backButton release]; 

感谢iPhoneGuy这里:iPhone Dev SDK