Objective-C:現在表示中のViewを一時的に切り替える方法

現在表示中の View から、一時的に View を切り替えたい時がある。画面遷移とまではいかない、ライトな画面切り替えの実装方法をメモ。

表示中のViewを切り替える

選択肢は次の2通り。

  • 新規に UIView を作成し現在の View に addSubView する
  • UIViewController メソッドの presentModalViewController で現在の View を切り替える

前者は、現在のViewに表示中のオブジェクトを残しつつ、新しいViewを載せる、後者は、現在の View を一時的に破棄し、新しい画面を表示する、と考えればいいと思う。

ウェルカムスクリーンや、一時的なヘルプ表示なら、presentModalViewController メソッドの方が、実装が簡単で便利。

使い方は以下のとおり。

UIViewController *controller =[[UIViewController alloc]init];
[self presentModalViewController:controller animated:YES];

もしくは、以下のように生成時にインスタンスを autorelease プールに入れておくと、modalView を破棄したら自動的にインスタンスも開放される。

UIViewController *controller =[[[UIViewController alloc] init] autorelease];
[self presentModalViewController:controller animated:YES];

表示中のmodalViewから、元の View に戻るには

[self dismissModalViewControllerAnimated:YES];

を実行する。

まとめ

このやり方を知るまでは、ずっと addSubView していた。。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents