objective-c 起動時裏画面きりかえ

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
べっきー

objective-c 起動時裏画面きりかえ

#1

投稿記事 by べっきー » 10年前

objective-cでUtility Applicationテンプレートを使用して裏画面に設定画面を作成しているのですが、
裏画面の設定値aaaが未設定の場合(変数aaaがnilだった場合)に、起動時無条件に裏画面の設定値へ
切り替わる処理を作成しております。
裏画面に切り替える (IBAction)showInfo:(id)sender で行っている処理と全く同じコードを
viewDidLoadで実施すればよいとおもってたのですが、nilルートへいっても裏画面へ
切り替わりません。
何が悪いのでしょうか。

コード:

- (void)viewDidLoad {

	[super viewDidLoad];
	
	//aaaがnilの場合
	if(aaa == nil){
		
                //裏画面切り替え★下記処理で裏画面へ切り替えれない★
		FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
		controller.delegate = self;
		controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
		[self presentModalViewController:controller animated:YES];
		[controller release];
		
	}
	
}

//裏面切り替え時
- (IBAction)showInfo:(id)sender {    

  ★下記は正常に動作する★
	FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
	controller.delegate = self;
	controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
	[self presentModalViewController:controller animated:YES];
	
	[controller release];
}

アバター
Justy
副管理人
記事: 122
登録日時: 10年前
住所: 神奈川県

Re: objective-c 起動時裏画面きりかえ

#2

投稿記事 by Justy » 10年前

 viewDidLoad はまだそのビューの初期化中です。
 その用途なら viewDidAppearあたりで試してみて下さい。

べっきー

Re: objective-c 起動時裏画面きりかえ

#3

投稿記事 by べっきー » 10年前

viewDidAppear使用で裏画面に切り替わりました。
ありがとうございます。

しかしながらnilの場合、裏画面に自動遷移するのは初回起動時だけにしたいのですが、
裏画面から表画面に切り替え時、毎回viewDidAppearがコールされて
裏画面に戻されてしまいます。

初回起動時だけに呼ばれる別メソッドはないでしょうか。
ない場合は、グローバル変数でフラグ管理しかないですかね。。。。

アバター
Justy
副管理人
記事: 122
登録日時: 10年前
住所: 神奈川県

Re: objective-c 起動時裏画面きりかえ

#4

投稿記事 by Justy » 10年前

べっきー さんが書きました:しかしながらnilの場合、裏画面に自動遷移するのは初回起動時だけにしたいのですが、
裏画面から表画面に切り替え時、毎回viewDidAppearがコールされて
裏画面に戻されてしまいます。
 それは裏画面で変数aaaに値をセットしていないからでは?
 セットするまで戻れないようにすることはできませんか?
 それとも裏画面と変数aaaは関係なく、裏画面では値をセットしないものなのでしょうか?
べっきー さんが書きました:初回起動時だけに呼ばれる別メソッドはないでしょうか。
 didFinishLaunchingWithOptionsとか applicationDidFinishLaunchingとかがそうです。
 このあたりはマニュアルを見て下さい。
べっきー さんが書きました:グローバル変数でフラグ管理しかないですかね。。。。
 表画面クラスのインスタンス変数にフラグを持つ、でもいいかと。

べっきー

Re: objective-c 起動時裏画面きりかえ

#5

投稿記事 by べっきー » 10年前

それは裏画面で変数aaaに値をセットしていない場合でも初回起動時のみ裏返したいと考えておりました。

didFinishLaunchingWithOptionsにて実装してみます。

ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る