私はobj-Cプログラミングが初めてです。このようなアプリの作成方法に興味がありました。実行すると、ボタン付きのView Controllerが表示されます。このボタンをクリックすると、タブ バー コントローラーが表示されます。最初の画面をモーダル ビューとして表示する必要がありますか、それとも他のバリエーションがありますか? このプロセスを順を追って説明していただけますか。
ありがとう
私はobj-Cプログラミングが初めてです。このようなアプリの作成方法に興味がありました。実行すると、ボタン付きのView Controllerが表示されます。このボタンをクリックすると、タブ バー コントローラーが表示されます。最初の画面をモーダル ビューとして表示する必要がありますか、それとも他のバリエーションがありますか? このプロセスを順を追って説明していただけますか。
ありがとう
私がこれを行う方法は、を持っていることUINavigationController
です。次に、RootViewController
これが最初のビューです。
次に、「最初のビュー」からを押すことができますTabBarController
。
必要がない場合はナビゲーションバーを非表示にすることができますが、NavigationControllerを使用すると、ビュー間を移動するのが非常に簡単になります。
デリゲートを使用してその機能を実現できます。LoginViewControlerを作成し、その中でプロトコルを定義します。そのデリゲートメソッドをAppDelegate.mファイルに実装します。以下はあなたの欲望の機能を達成するためのsudeコードです。
// AppDelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate,LoginViewControllerDelegate>{
LoginViewController *loginViewController;
}
// AppDelgate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
loginViewController = [[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:nil];
loginViewController.delegate = self;
self.window.rootViewController = loginViewController;
[self.window makeKeyAndVisible];
return YES;
}
-(void)loginButtonPressed {
[self.window setRootViewController:nil];
self.window.rootViewController = self.viewController;
}
//LoginViewController.h
@protocol LoginViewControllerDelegate <NSObject>
@required-(void)loginButtonPressed;
@終わり
@interface LoginViewController:UIViewController{idデリゲート;
}
@property (retain) id delegate;
- (IBAction)loginButtonPressed:(UIButton *)sender;
@終わり
//LoginViewController.m
- (IBAction)loginButtonPressed:(UIButton *)sender {
[_delegate loginButtonPressed];
}