iPhoneアプリ開発で画面遷移について

このQ&Aのポイント
  • iPhoneアプリ開発での画面遷移についての疑問について解説します。
  • 画面遷移の方法やアニメーションについて理解した上で、設定画面からの画面遷移での反映方法を説明します。
  • 参考になる切り替え方法や注意点についても紹介します。
回答を見る
  • ベストアンサー

iPhoneアプリ開発で画面遷移について

現在iPhoneアプリを開発しています。 まだ技術レベルは低く簡単なものしか作れませんが、1つ疑問があり質問させてもらいました。 以下のような画面遷移がある場合、2から3に切り替える場合どのようなview切り替えの処理をすればいいのかわからなくて困っています。 例:ゲーム 1.ゲームタイトル(スタート) → 2.ゲームプレイ → 3.設定画面(効果音など変更) → 4.ゲームプレイ ・addsubviewでviewを追加しremoveFromSuperviewで戻す ・2,3のviewを読み込ませてbringSubViewToFrontなど使用して切り替える ただaddsubviewで追加しremoveFromSuperviewした場合、ゲーム画面は残っているので、設定画面で変更した項目など反映されなくて困っています。 切り替えのアニメーションよってもやり方は変わってくると思いますが、一般的に設定画面から戻ったあとすぐに反映させる場合はどのようなやり方があるんでしょうか? アニメーションなど切り替え方はなくても大丈夫です。 どなたか教えて頂けると助かります。 ご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

View Controller Programing Guide for iOS http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40007457 一般的に、画面の遷移は、Navigation Controllerを使います。が、スタートアップ画面として表示するだけで、二度と表示しないViewなら、単純にaddSubview、removeFromSuperviewでもかまわないかと思います。 設定画面は、Modal View Controllerを使います。Modal Viewは、閉じるときにDelegateが送られますから、それをメインで表示しているView(Controller)で受け取って、変更箇所を反映させます。 設定変更箇所は、NSUserDefaultsを使ってPlistに保存するのがふつうですから、設定画面でPlistに変更箇所を保存し、メインのView(Controller)で、Plistから設定項目を更新するという方法もあるでしょう。

azusa-nakano
質問者

お礼

回答ありがとうございます! Modal View Controllerを使うんですか! Modal Viewは使ってなかったのでわからなかったですが、試してみます。 本当にありがとうございました。

関連するQ&A

  • iPhoneアプリの開発についてです。

    navigationControllerの画面遷移に関する質問です。 画面遷移するビューコントローラにUIToolBarを置いているんですが、遷移する際次に表示するビューにあるツールバーが元のビューにあるツールバーの上に重なるようにアニメーションします。 ページをめくるアニメーションをしたまま、ツールバーだけ固定するようにはできないのでしょうか? ツールバー以外のビューだけをaddSubviewする方法も試し、それっぽいものができたのですが動作が不安定なところが所々見当たるので、ぜひコントローラの画面遷移で実装できたらと思います。

  • iphone アプリ開発 view 画面遷移

    初心者です。 今、Xcodeでiphoneアプリを作っています。 view-based で、ボタンを押すとaからb、bからcといったviewの画面遷移方法をしりたいです。 初心者なので、分かる方いらっしゃったら、分かりやすいご教授お願いします。 ゆくゆくは、何十枚もを繋げていきたいです。

    • ベストアンサー
    • Mac
  • 単純なiPhoneアプリ開発について

    iPhoneアプリ開発、XCodeについて iPhoneアプリ開発ど素人です。 現在SingleView~で、画像•ボタン•ラベルを組み合わせた単純なアプリを作っています。 トップ画面から、ボタンを押すと 他の画面(画面Aとします)をmodalによる画面遷移で表示するようにしています。 次に画面Aにあるボタンを押すと、画面A内にあるラベルの文字が変化するようにしたかったのですが、controlを押しながらラベルをViewController.hにドラッグ(?)しても反映されませんでした(>_<) 調べた感じでは、新しいクラスなどが必要のようだったんですが、いまいちわかりません(>_<) 詳しい方がいらっしゃれば、ど素人向けにわかりやすく教えてください。 お願いします。

  • androidアプリ開発の画面遷移について

    androidアプリ開発でフッター広告だけを固定して、画面の遷移をしたいのですがやり方がわかりません。 フッター広告は固定で、画面を遷移するたびにフッター広告以外はoncreateで処理を行いたいです。 感じとしては、 final LinearLayout linearLayout = (LinearLayout)findViewById(広告以外の範囲id); getLayoutInflater().inflate(レイアウトid, linearLayout); が近かったのですが、これではただのxmlの切り替えでした。 やりたいのは、切り替え時に「広告範囲以外の範囲だけに」oncreateを適応させたいことです。 説明が下手ですみませんが、どうか宜しくお願いします。

  • iPhoneのアプリ開発についてお伺い致します。

    iPhoneのアプリ開発についてお伺い致します。 今、View-Based Applicationで、ラウンドレクトボタンをタップするとTextFieldに文字が表示される、という、至ってシンプルなアプリ開発に試みています。TextFieldの文字数が少ない場合は問題なくできたのですが、インスペクタでTextFieldの大きさを最大にしても、1行しか出ません。多くの文字を表示させたいのですが,どうしたらよいでしょうか?また、多くの文字や写真等をViewに入れ込みたい場合、もっと適したパーツ等の使い方があれば、ご教示いただければ幸いです。

    • ベストアンサー
    • Mac
  • iPhoneアプリ開発について質問させてください。

    iPhoneアプリ開発について質問させてください。 iPhoneでアプリを開発し、リリースします。 しかし、近々iOs7や新型iPhoneがでてくるということですが、そういった場合、具体的にどのようなことをすればよいのでしょうか? 漠然としすぎていて申し訳ないのですが、例を出させて頂きます。 (1)ピクセルが違う (2)画素数が違う (3)画面サイズが違う です。 上記3点がバージョンアップすることによって変更された場合、コードの中の数値のみを変更すればよいのでしょうか? そうすることによって、以前の旧バージョンで動作できなくなることはありませんか?

  • xcodeでのiOS開発で、コードで画面遷移する時

    xcodeでのiOS開発で、コードで画面遷移する方法について質問です。 テーブルビューで、セルをタップすると呼び出されるメソッドで コードで画面遷移をさせようとしています。 しかし、画面遷移をすると遷移先の画面が真っ黒になってしまいます。 どうすればなおりますか? - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NextViewController *nvc = [[NextViewController alloc] init]; nvc.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:nvc animated:YES]; } ちなみに、遷移先のクラスはインポートしてあります。 StoryBoardは使っていません。

  • iPhoneのアプリ開発、Xcodeについてお伺い致します。

    iPhoneのアプリ開発、Xcodeについてお伺い致します。 Xcodeのユーティリティアプリケーションのテンプレートを使って、裏面(Flipside View)にTable Viewを配置するアプリを開発本にそって造っています。 Table ViewをViewに貼り付けて使用するには、DataSourceやDelegateを実装しなくても、UITableViewControllerクラスを利用すればTable Viewは使用可能、と開発本に記載してありました。その本に沿って、XcodeにてUITableViewと接続する UITableViewControllerのサブクラスを作成しようとしたところ、「Subclass of」と書かれたラベルの横にあるプルダウンメニューの中に、開発本にある様な「UITableViewController」がありません。 (写真が実際の画面の写真で、開発本にはこのプルダウンメニューにUITableViewControllerがあるのですが…。) どのようにすれば、UITableViewControllerのサブクラスを作成できるかご教示いただければ幸いです

  • iPhoneアプリプログラミング

    iPhoneアプリ開発超初心者です。 「逆引きObjective-C for iPhoneアプリ」というサイトの中の http://www.objectivec-iphone.com/UIKit/UIImageView/UIImageView.html に、画像を表示するサンプルプログラムとして - (void)viewDidLoad { [super viewDidLoad]; // UIImageViewの初期化 CGRect rect = CGRectMake(10, 10, 250, 250); UIImageView *imageView = [[UIImageView alloc]initWithFrame:rect]; // 画像の読み込み imageView.image = [UIImage imageNamed:@"lena.png"]; // UIImageViewのインスタンスをビューに追加 [self.view addSubview:imageView]; } が紹介されているのですが、 メソッド - (IBAction)executeView:(id) sender {   // 画像表示 } の中で、画面上の特定位置への画像表示を指定する方法を教えてください。 上記のサンプルプログラムとメソッドを組み合わせるようなことをするのでしょうか? なにぶん超初心者で的外れなことを言っているかもしれませんが、よろしくお願いします。

  • VB.NET 画面遷移

    VB.NET2005にて開発してます。 画面遷移で困ってます。 親画面にボタンが複数ありボタンから各子画面へ遷移するのは問題ないのですが、 子画面同士で画面遷移させたい場合オーナーという概念がないため遷移前画面の操作が出来ません。 publicで子画面FORMを宣言するなどすれば良いのでしょうか? それ良いならその方法を教えてください。 違うならその他方法を教えてください。 VB.NETは全くの初心者なので分かりやすくお願い申し上げます。

専門家に質問してみよう