ストーリーボードを使用して iPhone アプリを開発し、ナビゲーション コントローラーを使用しています。
実装したとき、デフォルトの「戻る」テキストを使用する代わりにビューの名前を使用していることに気付きました。強制的に「戻る」を使用する方法はありますか?
ありがとう
ストーリーボードを使用して iPhone アプリを開発し、ナビゲーション コントローラーを使用しています。
実装したとき、デフォルトの「戻る」テキストを使用する代わりにビューの名前を使用していることに気付きました。強制的に「戻る」を使用する方法はありますか?
ありがとう
おそらくアプリケーションのデリゲートにを表示するときは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:]
さらに、必要なビューコントローラとの一致を確認することで、カスタムビューコントローラを無視できます。
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"
質問する前に検索してみてください。
次のコードをコントローラーに追加して、ドリルダウンを呼び出すことができるようです。これは、マスター詳細のマスターです。
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];
iPhoneGuy の功績: iPhone Dev SDK