0

多くのビューに表示されるので、一度作成したい UIBarButtonItem があります。

viewControllers の異なる UINavigationBar のタブバー内に、同じボタン インスタンスを追加します。

[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:
                                                 self.aButtonItem,
                                                 appDelegate.aSingleton.singleButtonItem,
                                                 nil]

ビューを切り替えると、単一インスタンス ボタンは初回のみ表示されます。空のスペースがあり、ボタンがあった位置をクリックすることもでき、アクションが正しく呼び出されます。

ボタンが表示されなくなっただけです。

これは文書化された「機能」ですか?

なぜ私はこれをしているのですか?

ボタンを選択済みの _singleButtonItem.selected=YES に変更して、ユーザーに通知を表示します (バッジのようなものですが、邪魔になりません)。したがって、単一のインスタンスが必要です。

4

1 に答える 1

1

1 つのオブジェクトが複数の場所に存在することはできません。複数作成する必要があります。ただし、バッジの値をどこかに保存して、必要に応じてすべてのボタンに表示することができます。

論理的には、UIView は 1 つの親ビューしか持つことができません。したがって、同じ子ビューを別のビューに追加すると、最初の親ビューから削除され、2 番目の親ビューに子として追加されます。

于 2013-01-16T11:10:52.540 に答える