0

ストーリーボードを使用して iPhone アプリを開発し、ナビゲーション コントローラーを使用しています。

実装したとき、デフォルトの「戻る」テキストを使用する代わりにビューの名前を使用していることに気付きました。強制的に「戻る」を使用する方法はありますか?

ありがとう

4

3 に答える 3

0

おそらくアプリケーションのデリゲートにを表示するときはUINavigationController、アプリケーションのデリゲートをナビゲーションコントローラーのデリゲートにもします。次に、ViewControllerがポップおよびプッシュされるのを監視します。

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:]さらに、必要なビューコントローラとの一致を確認することで、カスタムビューコントローラを無視できます。

于 2012-06-07T20:19:41.220 に答える
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"
于 2012-06-07T20:10:39.380 に答える
0

質問する前に検索してみてください。

次のコードをコントローラーに追加して、ドリルダウンを呼び出すことができるようです。これは、マスター詳細のマスターです。

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

iPhoneGuy の功績: iPhone Dev SDK

于 2012-06-07T20:11:33.927 に答える