1

ボタンを使用して、あるビュー (XIB) から別のビューに移動しようとしています。Xcode 4.3.2 と iOS 5 を使用しています。まず、プロジェクト (Single View Application) を作成します。次に、Interface Builder でボタンを作成し、ヘッダー ファイルでアウトレットを作成し、.m ファイルで IBAction を作成します。次に、Xcode でプロジェクト フォルダーを右クリックし、[新しいファイル] を選択しました。次に、「Object-C クラス」を選択し、「SecondViewController」という名前を付けました。「SecondViewController.h」と「SecondViewController.m」という 2 つの新しいファイルが作成されました。次に、戻って Xcode のプロジェクト フォルダを右クリックし、[新しいファイル] を選択して、[ユーザー インターフェイス] オプションから [表示] を選択しました。

これで、SecondViewController.xib という名前の新しいビューに移動するために使用する空の IBAction (ボタン) ができました。

新しい XIB および .h/.m ファイルの作成がこの時点まで正しい場合、ボタンを使用して 2 番目のビューに「移動」または表示するにはどうすればよいでしょうか? 心に留めておいてください、私はまだ初心者レベルであり、助けとあなたの忍耐に感謝します:)

メインの View と SecondView の唯一の違いは、ヘッダー ファイルにあります。

メイン ビュー ヘッダー ファイル:

@interface ButtonToNewViewViewController : UIViewController

2 番目のビュー ヘッダー ファイル:

@interface SecondViewController : NSObject

IB アクション:

-(IBAction)nextView:(id)sender
{
    // go to new view
}
4

3 に答える 3

10

これは非常に単純な作業で、オンラインの多くのチュートリアルで説明されていますが、とにかくいくつかのヘルプを提供します. :-)

まず、 を作成するときは、 ではなくSecondViewControllerのサブクラスとして作成することを忘れないでください。そのため、これらのファイルで多くの作業を行っていない限り、先に進んで再作成することができます。同時に、作成プロセスのチェックボックスをオンにすることで、Xcode が自動的に xib ファイルを作成するようにすることができます。UIViewControllerNSObject

(.h、.m、.xib)を作成したらSecondViewController、開いてファイルの先頭にButtonToNewViewController.m置きます。#import "SecondViewController.h"methodnextView:で、次の 2 行を使用して 2 番目のビュー コントローラーに変更できます。

SecondViewController *second = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self presentViewController:second animated:YES completion:nil];

これにより、2 番目のビュー コントローラーがポップアップし、簡単なアニメーションが表示されます。渡す文字列がinitWithNibName:.xib ファイルと同じ名前であることを確認してください。

に戻りたい場合ButtonToNewViewControllerは、これを のメソッドで使用できますSecondViewController

[self dismissViewControllerAnimated:YES completion:nil];

これで少しはすっきりするはずです。:-)

于 2012-05-11T19:08:42.363 に答える
1

この質問に戻る人のために、次の構文はiOS 6の時点で非推奨になりました

[self presentModalViewController: ]

交換は非常に似ています

[self presentViewController:viewController animated:YES completion:nil];
于 2015-11-09T10:25:20.913 に答える
0

以下を使用して、ある xib から別の xib に変更できます。

- (IBAction)showInfo1:(id)sender
{    
    mySecondViewController *controller = [[mySecondViewController alloc] initWithNibName:@"nameOfMyXib" bundle:nil];
    [self setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    [self presentModalViewController:controller animated:YES];
}
于 2012-05-11T19:06:59.350 に答える