rootViewController を渡すために UINavigationController のコンストラクターをオーバーライドするにはどうすればよいですか?
Objective-C では、次のようなメソッドがあります。
-(id)initWithRootViewController:(UIViewController*)rootViewController
{
UIViewController *fakeController = [[[UIViewController alloc] init] autorelease];
if (self = [super initWithRootViewController:fakeController]) {
self.fakeRootViewController = fakeController;
rootViewController.navigationItem.hidesBackButton = YES;
[self pushViewController:rootViewController animated:NO];
}
return self;
}
前もって感謝します。よろしく。
PS このコード スニペットは、ルート ビュー コントローラーの変更から取得したものです。
編集:
返信ありがとうございます。特に興味深いので、前のコード スニペットに興味がありました。
@Geoff Norton: たぶん私はあなたのソリューションを決して使用しないでしょうが、とにかく素晴らしいと思います...
私の試みは、テンプレートとして機能する一種の UINavigationViewController を作成することです。特に、UINavigationController には最初に loginView があります (一種の rootviewcontroller である可能性があります)。ログインすると、メイン ビューとセカンダリ ビューの 2 種類のビューが表示されます。前者は、ログイン ビューの同じレベルにあります (一種の rootviewcontrollers である可能性があります)。後者は最初のものの上に押し出されます。通常の UInavigationController スタックを介して、またはツールバーを使用して移動できます。ツールバーはメイン ビューのみをロードします。
UINavigationController でこれを行うことは可能ですか?
ありがとうございました。よろしく。