私はあなたを助けてくれることを願っています。私はタブバーアプリであるアプリを設計しました。最初のタブのビューコントローラにはボタンがあり、ボタンを押すとモーダルビューが生成されます。モーダル・ビュー(ユーザー・データの入力に使用する)の「保存」ボタンを押すと、ユーザーが入力したすべてのデータの表が表示される別の表ビューを押すため、モーダル・ビューのnavコントローラを初期化しましたこれまでのところ)。スタックされたテーブルビューには、「完了」ボタンがあります。これを押すと、タブ上の別のビュー(ユーザー入力の進行状況ビュー)に移動する必要があります。つまり、スタックをオフにします。スタック内のビューコントローラからビューコントローラへの切り替えがありません
私の質問は、スタックに2つのコントローラがある場合、どのように私はスタック上にない別のビューにスタックをポップするのですか?私はpopToViewController
メソッドを使用しましたが、あなたが推測したように、「存在しないビューコントローラにポップしようとしました」というメッセージが表示されます。
- (IBAction)doneButtonPressed:(id)sender
{
LogTableViewController *logTableViewController = [[LogTableViewController alloc]init];
[self.navigationController popToViewController:logTableViewController animated:YES];
[logTableViewController release];
}
LogTableViewController
がスタック上ではなく、アプリ内の別のタブのためのちょうど別のターゲットである:ここでは、スタック上の2番目のビューの私の簡単なコードです。何か案は?前もって感謝します。
他のすべてのビューコントローラがスタックから削除され、それ以外のビューコントローラが残っていない場合は解放される可能性があります。 すべてのビューコントローラを1つのビューのみを含む新しいテーブルに置き換える代わりに、テーブルに1つ追加してからナビゲーションを実行します。 –
はい、そうです。彼を守るかどうかは、彼の責任です。彼が意図していたように働いていたら、彼は何をしようとしていたのでしょうか?それをスタックから突き放して、おそらく新しいものを押し込んだでしょう。もちろん、そのようには動作しませんが、 '-setViewControllers:animated:'は行います。 – gschandler
ありがとう!それがそれでした。私はあなたの助けに感謝します。私が近くにいることを知ってうれしいですが、私は自分でそれを考え出すことはありませんでした。問題があるのは、その新しいビューに着くと、タブバーが一番下にないことです。 LogTableViewが表示されている元のタブバーにどのようにアクセスできるかについてのアイデアはありますか? – pina0004