0

ここに画像の説明を入力

StoryBoard Push Segue と Interface Builder を使用して、最初のビュー コントローラーと 2 番目のビュー コントローラーを接続しました。

このボタンは、上部/右側に GO という名前が付けられています。

2 番目のコントローラーに移動する前に入力する必要がある 3 つのテキスト フィールドがあります。

そのうちの 1 つが空になるとアラートを表示します。

問題は、正しい alertView を表示した後の私のコードが、mainController に留まるのではなく、SecondController に移動することです。

 if ([segue.identifier isEqualToString:@"DataDisplay"])
{
    if (![self verifySelection]) {
        return;
    } else {
        RowViewController *rowViewController = segue.destinationViewController;
//        rowViewController.delegate = self;
    }
}
4

3 に答える 3

1

簡単な修正は、インターフェイス ビルダーにセグエを管理させるのではなく、手動でセグエを作成することです。したがって、メインのView Controllerから2番目のView ControllerにCtrlキーを押しながらドラッグし、セグエのタイプとしてプッシュを選択し、識別子インスペクターを介して識別子を割り当てます。次に、IBActionをGoボタンに接続し、メソッドでチェックを実行しますプログラムでセグエを起動する前に、テキストフィールドで次のようにします。

[self performSegueWithIdentifier:@"whateverIdentifierYouGaveYourSegue" sender:self];

注意: ビューコントローラーから別のビューコントローラーへの手動セグエを作成するには、ストーリーボードをズームアウトするか、ビューの下にある黄色の円から Ctrl キーを押しながらドラッグする必要があります。

編集: ボタン メソッドに接続された IBAction は、次のようになります。

- (IBAction)download:(id)sender {
    if(text boxes are ok)
        [self performSegueWithIdentifier:@"segueIdentifier" sender:self];
    else
        [self showWarning];
}

ストーリーボードで作成したセグエに ID segueIdentifier を割り当てたことを確認してください。

于 2013-05-09T13:22:03.140 に答える
1

Go1)ボタンからSensor DataView Controllerに直接配線されたセグエがあります。誰かが に触れるGoたびに、セグエが発生するため、これは望ましくありません...それを止めることはできません。したがって、最初のステップは、2 番目の View Controllersegueから移動した を削除することです。Go

File's Owner2) 代わりに、View Controller の下のアイコンから 2 番目の View Controller にセグエを配線します。のような名前を付けDataDisplayます。

3)IBActionあなたのためにGo button

if ([self verifySelection) {
    [self performSegueWithIdentifier:@"DataDisplay" sender:self]
}
于 2013-05-09T14:00:09.243 に答える