俺俺テンプレート第一弾ってことで、まずは画面遷移を作っていきたいと思います。
AddSubViewパターンとかmodalViewパターンはいつでも使えるので、ここではやらない。
NavigationControllerを使ったパターンを実装していきます。
まずはsingleViewのテンプレートにて新しいプロジェクトを作る
1、NavigationControllerによる画面の遷移を実装する。
AppDelegate.h
rootControllerプロパティを追加
#import <UIKit/UIKit.h>
@class ViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic,retain) UINavigationController* rootController;
@property (strong, nonatomic) ViewController *viewController;
@end
AppDelegate.m
起動時に呼ばれるメソッドを少しいじる
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
//起点となるViewControllerを設定
rootController = [[UINavigationController alloc]initWithRootViewController:_viewController];//追加
self.window.rootViewController = self.rootController;//変更
[self.window makeKeyAndVisible];
return YES;
}
#動作を確認の為の準備
適当なViewControllerをプロジェクト上に作る。ここではSecondViewControllerとする。
ViewControllerに #importする。
ViewControllerに適当なボタンを作ってIBActionのメソッドを実行できるようにする。
メソッドの中は下記の通り
-(IBAction)buttonDidPush:(id)sender{
SecondViewController* viewController =
[[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
[self.navigationController pushViewController:viewController animated:YES];
[viewController release];
}
アプリを起動してボタンを押したら画面が遷移したら成功だ。
ちゃんちゃん
AddSubViewパターンとかmodalViewパターンはいつでも使えるので、ここではやらない。
NavigationControllerを使ったパターンを実装していきます。
まずはsingleViewのテンプレートにて新しいプロジェクトを作る
1、NavigationControllerによる画面の遷移を実装する。
AppDelegate.h
rootControllerプロパティを追加
#import <UIKit/UIKit.h>
@class ViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic,retain) UINavigationController* rootController;
@property (strong, nonatomic) ViewController *viewController;
@end
AppDelegate.m
起動時に呼ばれるメソッドを少しいじる
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
//起点となるViewControllerを設定
rootController = [[UINavigationController alloc]initWithRootViewController:_viewController];//追加
self.window.rootViewController = self.rootController;//変更
[self.window makeKeyAndVisible];
return YES;
}
#動作を確認の為の準備
適当なViewControllerをプロジェクト上に作る。ここではSecondViewControllerとする。
ViewControllerに #importする。
ViewControllerに適当なボタンを作ってIBActionのメソッドを実行できるようにする。
メソッドの中は下記の通り
-(IBAction)buttonDidPush:(id)sender{
SecondViewController* viewController =
[[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
[self.navigationController pushViewController:viewController animated:YES];
[viewController release];
}
アプリを起動してボタンを押したら画面が遷移したら成功だ。
ちゃんちゃん
とおりすがりですが、
返信削除- (BOOL)application:
の以下の部分は、
× rootController =
◎ self.rootController =
ですね。
追加です。
削除AppDelegate.mに
@synthesize rootController = _rootController;
を追記する必要もあるみたいです?
お邪魔しました。ありがとうございました。