• 締切済み

Xcode画面推移

Xcodeで画面推移をしたいの質問をいくつか書いていきます ViewControllerを二つ足して三つの画面にする場合それぞれにMファイル、Hファイルを作るときはどうすればいいでしょうか? 二つ目、三つ目の画面に名前はつけないとダメですか? 三つ目の画面から二つ目の画面に移行したい場合どのファイルにどんなコードを書けばいいですか? 回答よろしくお願いします

みんなの回答

回答No.1

> 二つ目、三つ目の画面に名前はつけないとダメですか? どこに名前をつけようとしているのかわかりませんでした。 二つ目、三つ目の画面、それぞれ別のクラス名にしないと いけないのかという質問だったら、「必ずしもそうではない」です。 同じ機能を持つ画面だったら同じクラスを使って新しい画面に遷移すればいいし 別の機能を持つ画面だったら別のクラスを作った方がやりやすいでしょう。 > 三つ目の画面から二つ目の画面に移行したい場合どのファイルにどんなコードを書けばいいですか? presentViewControllerやperformSegueWithIdentifierで呼び出した画面なら、 呼び出し先の画面の「戻る」ボタンとかが押された時に呼ばれるメソッドで dismissViewControllerAnimatedを書けば戻れます。 前回参考提示した参考URL http://www.guildmukku.com/xoops/modules/pico/index.php?content_id=23 に書いてある通りです。 UINavigationControllerを使っているなら http://www.guildmukku.com/xoops/modules/pico/index.php?content_id=22 にある通りナビゲーションバーに「戻る」ボタンが自動的に現れるので 特にコードを書く必要ありません。 コードで戻りたいなら popViewControllerAnimatedで戻ることができます。

関連するQ&A

  • xcodeでのReachabilityの使い方

    お世話になります。 UIWebViewを基本としたiPhoneアプリの開発に取り組んでいます。 基本機能は完成しているのですが、ネットワークに接続するアプリの場合、圏外時に操作した場合にアラートを上げる仕様でないとアップルの審査を通らないと聞いています。 その際、Reachabilityを使用する必要があると理解しているのですが、様々なサイトのサンプルコードを見ても記載先がいまいち曖昧でうまくいきません。(コードを理解できていないのでそもそもなのですが) 「どこに」、「どのコードを記載する」というレベルで示唆いただけませんでしょうか。 ※Reachability.hとReachability.mおよびSystemConfigration.frameworkは導入済みです。 ※xcodeのバージョンは4.6です。 ※基本的な構成ファイル名は下記の通りです。 1.AppDelegate.h 2.AppDelegate.m 3.MainStoryboard.storyboard 4.ViewController.h 5.ViewController.m 6.Reachability.h 7.Reachability.m 勘違いしている部分があればご指摘ください。 このステップをクリアしないとアップルの審査を通らないと聞いていますので、なにとぞよろしくお願いいたします。(必須機能であればワンクリックで機能付加できればいいのに、と思いました、、)

  • Xcodeでの画面遷移について

    Xcode5.0でアプリを作成しています。 アプリがバックグラウンドから再びアクティブになるときに画面遷移の処理をするために 以下の方法にてAppDelegateのapplicationDidBecomeActiveからView Controllerに処理を渡しています。 AppDelegate.m - (void)applicationDidBecomeActive:(UIApplication *)application { [[NSNotificationCenter defaultCenter] postNotificationName:@"applicationDidBecomeActive" object:nil]; } ViewController.m { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidBecomeActive) name:@"applicationDidBecomeActive" object:nil]; } - (void)applicationDidBecomeActive { ViewController *View = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondView"]; [self presentModalViewController:View animated:YES]; } ViewController.mの- (void)applicationDidBecomeActiveで画面遷移の処理をしたいのですが、ViewDidAppearでは出来る画面遷移がapplicationDidBecomeActiveでは実行されない状態です。 ググって調べたところ、読み込みのタイミングが問題らしいことはなんとなく解ったのですが、 どうにかして、- (void)applicationDidBecomeActiveと同じタイミング(アプリがアクティブになったとき)で画面遷移を行う方法はありますでしょうか?

  • xcodeでデバッグ

    Xcodeで質問です。 プロジェクトデータなし、hファイルmファイルのみで デバッグってできましたか?

  • Xcode4のエラー(IPhoneアプリ)

    はじめまして。 IPhoneのアプリ作成に挑戦しています。 Xcode4のバージョンは 4.5.1です。 【はじめてのXcode4プログラミング】という参考書でIPhoneのカメラアプリを作る章があり、写真ライブラリから選択した画像を表示できるとのことです。 しかし、XcodeでRun(実行)すると、ViewController.mの最後2行【UIImage *originalImage =[info objectForkey:UIImagePickerControllerOriginalImage];】が赤くなり、【’dismissModalViewControllerAnimated’is deprecated: first deprecated in iOS 6.0】というエラー表示がでます。 全体のコードは下記の通りです。 ネットで調べてみましたが、解決方法がわかりません。 先に進めず困っています。 どうか解決方法を教えてください。 よろしくお願い致します。 ●ViewController.h// // ViewController.h // CameraApp // #import @interface ViewController : UIViewController - (IBAction)pressCameraButton:(id)sender; @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end ●ViewController.m // // ViewController.m // CameraApp // #import “ViewController.h” @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)pressCameraButton:(id)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; [self presentModalViewController:picker animated:YES]; } - (void)imagePickerController:(UIImagePickerController*)Picker didFinishPickingMediaWithInfo:(NSDictionary*)info { [self dismissModalViewControllerAnimated:YES]; UIImage *originalImage = [info objectForkey:UIImagePickerControllerOriginalImage]; self.imageView.image = originalImage; } @end

  • Xcodeでのファイル編集の設定

    Xcodeでのファイル編集の設定について教えてください。 以前は、Xcodeでプロジェクトを開いた時に右側に表示されている、 「グループとファイル」で、*.c, *.cpp, *.h, *.mなどのソースコードを シングルクリックすると、通常Xcodeの右下に表示されている領域に ソースが表示されていたのですが、何らかの設定が変わってしまったのか、 ソースが表示されなくなってしまいました。 シングルクリックでこの領域にソースコードを表示するように設定を 戻したいのですが、どこの設定で切り替えられるでしょうか? なお、「グループとファイル」からダブルクリックした場合は、 独立したウィンドウでソースコードが開きます。 また、右クリックから「Finderで開く」を選択した場合は、 Xcodeの右下に表示されている領域にソースが表示されます。

  • iPhoneアプリ作成時のXcodeのエラー

    はじめまして。 iPhoneのアプリ作成に挑戦しています。 Xcode4のバージョンは 4.5.1です。 【はじめてのXcode4プログラミング】という参考書でIPhoneのカメラアプリを作る章があり、写真ライブラリから選択した画像を表示できるとのことです。 しかし、XcodeでRun(実行)すると、ViewController.mの最後から4行目【UIImage *originalImage = [info objectForkey:UIImagePickerControllerOriginalImage];】が赤くなり、【No visible @interface for 'NSDictionary' declares the selector 'objectForkey'】というエラー表示がでます。 全体のコードは下記の通りです。 ネットで調べてみましたが、解決方法がわかりません。 先に進めず困っています。 どうか解決方法を教えてください。 よろしくお願い致します。 ●ViewController.h// // ViewController.h // CameraApp // #import @interface ViewController : UIViewController - (IBAction)pressCameraButton:(id)sender; @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end ●ViewController.m // // ViewController.m // CameraApp // #import “ViewController.h” @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)pressCameraButton:(id)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; [[self presentViewController:picker animated:YES completion:nil];} - (void)imagePickerController:(UIImagePickerController*)Picker didFinishPickingMediaWithInfo:(NSDictionary*)info { [self dismissViewControllerAnimated:YES completion:nil]; UIImage *originalImage = [info objectForkey:UIImagePickerControllerOriginalImage]; // ↑↑ 上記の行でエラーが出ます self.imageView.image = originalImage; } @end

  • xcode5左のツリー内Main.story消えた

    xcode5について質問させていただきます。 まず、普通に「Single View Application」でproject作成後、 View controllerを選択して「Delete」を押したら、「remove reference」というダイアログボックスが出て、そのままクリックした所、左のツリー内にいつもある「Main.storyboad」のみが消えてしまいました。 具体的には、「AppDelegate.m」と「ViewController.h」の間のファイルです。 ここで質問ですが、再びツリー内に「Main.storyboad」を復活させるためには、どうすればよいのでしょうか? 詳しい方がいましたら、よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • Xcodeでカスタムセルを実装できない

    ObjectiveCを用いてiPhoneアプリ開発の勉強をしています。 http://ameblo.jp/iichin0708/entry-11340165016.html UITableViewに表示するセルをカスタムセルにしたく、上記のサイトを参考にしているのですが上手くいきません。 まずSingleViewControllerを選択し、UITableViewとTableViewCellをstoryboardのViewController上にドラッグアンドドロップし、UITableViewとViewControllerの実行ファイルをOutlet接続しました。 以降は上記サイトを参考にプログラムしました。(xibのクラス名と、ヘッダ・実装ファイル名はtestCellという名前にしました。) xibの実装ファイルに最初から書かれていたコードは残したままにしました。(コメントアウトしても結果は変わりませんでした。) これで実行したところ、unsupported Configuration prototype table cells must have reuse identifiers というエラーが出てシミュレータが起動しませんでした。 なので、storyboardのセルを選択し、Identifier inspector を開き、CustmCellをtestCellに、IdentityをCellにしたらシミュレータが起動できましたが、何も項目は表示されませんでした。 カスタムセルのサイズを縦に極端に大きくしても変化が無かったのでうまく接続できていないように思います。 以下にコードを晒します。 ■testCell.h http://www.dotup.org/uploda/www.dotup.org4973490.txt ■testCell.m http://www.dotup.org/uploda/www.dotup.org4973493.txt ■ViewController.h 特に編集していません。 ■ViewController.m http://www.dotup.org/uploda/www.dotup.org4973496.txt よろしくおねがいましう。

  • xcode 複数のimageview

    xcode歴2ヶ月の者です。 現在レシピ本のアプリを作成中なのですが、テーブルビューで項目ごとにレシピを閲覧できる使用となっておりますが、1枚目のimageviewにてピンチ、スクロール等のコードも書き終わり、正常に動くことができましたが、その後のレシピ100種類ぐらいですが、その方も同様に、1枚づつhファイル、mファイルを作っていかなくてはならないのでしょうか? 気が遠くなり、やる気がなかなか起きてきません。 イメージとしては今後レシピが増えても、ファイル1つでできるのが理想です。 よろしくお願いします。

  • Xcode3.0の操作につまづいています

    新しいXcode3.0ではclassファイルの作成方法が変わった、というところまでは分かったのですが、更にDocument based applicationを作成しようとしたところ、Classファイル(ディレクトリとしてのファイル)名自体が「Scripts」二変更されていました。中にはあらかじめ.Scriptファイルが作られています。ここに普通に.m/.hファイルをコピペしてもアプリがうまく動作しないのですが、これは機能的にはどのように変更されたのでしょう。分かる方教えてください。

    • 締切済み
    • Mac