私のプロジェクトで問題が発生しました。プッシュされたUIViewControllerからルートUINavigationControllerにアクセス
プッシュされたUIViewControllerから私のUINavigationControllerにアクセスしようとするたびに、私は "(null)"を返します。
正常に動作しますMyClass *theChatRoom = [[MyClass alloc] initWithNibName:@"ChatRoom" bundle:nil];
[theChatRoom setTitle:[unitCode text]];
[self.navigationController pushViewController:theChatRoom animated:YES];
が、それはプッシュ:
1. AppDelegate.m initalises UINavigation Controller
2. UINavigation Controller starts with Welcome Page
3. Welcome Page Pushes New UIViewController on Button Press
4. UIViewController returns (null) when self.navigationController called
OKは、ので、ここで私はこれを呼んでいる私のウェルカムページでは、いくつかのコードです:
は、これが私のプロジェクトが構成されています新しいView Controller。 MyClass.mで
しかし、その後:
@implementation MyClass
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
NSLog([NSString stringWithFormat:@"%@",self.navigationController]);
}
return self;
}
このリターン(ヌル)私が間違っているのは何
?
しかし、私はこれをしようとしています。 'UIBarButtonItem * backButton = [[UIBarButtonItem alloc] initWithTitle:@" Back "スタイル:UIBarButtonItemStyleBordereredターゲット:なしアクション:なし; [[[self navigationController] navigationItem] setBackBarButtonItem:backButton]; 'それを動作させることはできません。 何がありますか? – Moe
Nevermindは、View Controller自体ではなく、親View ControllerでBackボタンを設定する必要があることを発見しました。 – Moe
本当に複雑なプロジェクトでこれをやっただけで、価値があるものはviewDidLoadのnon nilに割り当てられませんでした。私が行っているプロジェクトでは、いくつかの醜いハッキングがあるかもしれません。クリーンなプロジェクトでこれを試してみましょう。 – cynistersix