1

私は xcode の初心者で、まだその基本を学んでいます。私の質問が基本的すぎると感じた場合は、ご容赦ください。

私には、私のメインビューであるビューがあります。ユーザーがボタン (オプション ボタン) をクリックすると、2 番目のビューに移動します。ここで、ユーザーは利用可能な多くのオプションから 1 つを選択できます。

ユーザーがオプションを選択したら、この値を最初のビューに送り返し、元の場所から処理を再開したいと考えています (ユーザーが [オプション] ボタンをクリックしたとき)。

重要 - ユーザーは処理の途中でビュー 1 からビュー 2 に移動します。ビュー 2 からビュー 1 に戻って、中断したところから再開する必要があります。これは、すべての変数値を使用できるようにする必要があることを意味します。

4

3 に答える 3

0

簡単!UIButton から新しいビューへのドラッグを制御するだけです。モーダルを選択します。

ここに画像の説明を入力

于 2013-09-03T23:56:47.997 に答える
0

プッシュ セグエは、親ビュー コントローラーの新しいバージョンを作成しません。viewDidLoad または viewDidAppear / viewWillAppear でセッション処理を開始していますか? viewWillDisappear で処理を停止していませんか? viewWillDisappear では、次のコード スニペットを使用して、ナビゲーション コントローラーのスタックをチェックして、親ビューがカバーされているか、スタックからポップされているかを確認できます。

- (void)viewWillDisappear:(BOOL)animated {

    if ([[[self navigationController] viewControllers] indexOfObject:self] == NSNotFound) {
       // we are disappearing.  Clean up the session.
        ...
    }
    [super viewWillDisappear:animated];
}

UIViewController のencodeRestorableStateWithCoder:メソッドを使用して、View Controller に (限られた量の) 状態を保存できます。ドキュメントを確認してください。私自身は使用していませんが、役に立ちます。

ちなみに、デリゲート プロトコルを作成するよりも、UIViewController のdone :、reset :、およびcanPerformUnwindSegueAction:fromViewController:withSender:を使用する方が簡単な場合があります。アンワインド セグエは iOS 6 で導入され、デリゲートよりも少ないコードで済みます。

于 2013-09-04T04:53:45.857 に答える