ストーリーボード内の開始ビューを変更する方法を探しています。2 つの異なるビューがあります。1 つはチュートリアル用で、もう 1 つはアプリ自体です。アプリを初めてロードしたときにチュートリアルをロードし、次回はアプリ自体にする必要があります。コードでこれを行うにはどうすればよいですか?
4 に答える
nibfile または AppDelegate から実行しようとしていますか?
最初のケースでは、フラグ「Is Initial View Controller」をチェックするだけです。
次に、次のように、コントローラーを RootViewController として配置する必要があります。
- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)options{
UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
MenuViewController *menu = [navController.storyboard instantiateViewControllerWithIdentifier:@"MenuController"];
CustomViewController *custom = [navController.storyboard instantiateViewControllerWithIdentifier:@"CustomController"];
// First item in array is bottom of stack, last item is top.
navController.viewControllers = [NSArray arrayWithObjects:menu, custom, nil];
[self.window makeKeyAndVisible];
return YES;
}
これらのリンクを確認して、初めてアプリを起動する 最初の iPhone の起動 と最初の起動
アプリが初めて起動しているのを見つけたら、チュートリアルのViewControllerをロードするかプッシュします。それ以外の場合は、必要に応じてデフォルトのView Controllerをロードします。
より少ないコードでそれを行う方法は、3 番目のビュー コントローラーを作成し、それをルート ビューと呼びます。これは常に最初に読み込まれます。次に、このビュー内でチェックします。
次にロードするビュー (チュートリアル ビューまたはアプリ ビュー)。
各ビューにストーリーボード ID を付与する
チュートリアル ビュー:@"tutorialMainView"
とアプリ ビュー: を呼び出します。@"appMainView"
次に、ルート ビュー内から、次のようにロードできます。
NSString *viewName = @"tutorialMainView";
UIViewController *tempView = [[UIStoryboard storyboardWithName:@"my_storyboard" bundle:nil] instantiateViewControllerWithIdentifier:viewName];
その後どうするかはあなた次第です。それをプッシュするか、現在の rootView を置き換えます (新しい rootViewController として設定することをお勧めします)。
1.ストーリーボードに移動します 2.作成したいビューをクリックします 最初にこの写真を見て、画像のように初期コントローラーを設定します