0

私はを使用しUIViewControllerて、2つの別々の場所にアイテムをリストします。1つの場所はデフォルトのホームであり、別の場所は別のコントローラーがそれをナビゲーションスタックにプッシュして、アイテムのリストを表示する場所です。

どちらの場所でも、ナビゲーションバーの[追加]ボタンをクリックして、新しいアイテムを追加できます。リストの動作は、呼び出し元が参照に設定した呼び出しにNSObject *基づいて決定されます。それ以外の場合は、デフォルトで行われます。targetControllerselfnil

tabBarの別々のタブに両方を同時に表示すると、最初に呼び出されたタブでnavBar title/rightBarButtonItemが表示されなくなるという問題が発生しました。items私はついに、リストのビューがプッシュされてが削除されるたびに、navBarがスタックを置き換えていることを理解しましたnavigationItem

私の唯一の解決策は、tabBarボタン項目が押されるたびにリストのビューを強制的にポップすることです。もっと良い方法はありますか?

ところで、重複する機能を回避してコードの維持を減らすために、2つの異なる場所で同じコントローラーを使用することを選択しました。

4

1 に答える 1

0

ナビゲーション スタックのオンとオフでビューをポップしてプッシュすることが、ビューの切り替えを処理する正しい方法であると確信しています。メモリ使用量を低く抑える。それらもリリースすることを忘れないでください。

于 2009-07-29T02:16:52.660 に答える