1

出来ますか?

UINavigationBar「戻る」ボタンの横に「編集」ボタンが欲しいと思っています。私が読んだことから、navigationItemオブジェクト (backBarButtonItem と leftBarButtonItem) の個別のプロパティであるため、どちらか一方しか持つことができません。

どういうわけかカスタムをに挿入する必要があると思いUIViewますUINavigationBar。私はこのオプションを検討していますが、より良い解決策がない場合は、この方法の概要を説明します.

4

3 に答える 3

2

簡単な答えは次のとおりです。

はい、独自の UIButton ビュー (または他の UIControl サブクラス) をナビゲーション コントローラーに自分で追加する必要があります。そのため、カスタム *ButtonItem プロパティを無視して、自分でロールします。

もう少し複雑な答えは次のとおりです。

Apple は、HIG ガイドラインに従うことを非常に簡単にしていますが、それらを破ったりカスタマイズしたりしたい場合は、自分で行ってください。この場合、実際のヒット領域は表示されたボタンのサイズよりも大きく、ユーザビリティの観点からははるかに簡単にヒットできるため、ボタンは 1 つだけ許可されます。

無関係:

ところで、left/rightBarButtonItem と backBarButtonItem には微妙な違いがあります。左/右は現在の UIViewController で指定されます。ただし、前の UIViewController によって back が指定されます。

于 2009-07-24T23:12:13.247 に答える
1

ここでは、カスタム ビューを使用することが唯一の選択肢です。UINavigationBar はそれほど柔軟ではありません。あなたがする必要があるのは、UIButtons を含む UIView を作成することです。カスタム ビューを使用すると、backBarButtonItem の自動動作が得られないことに注意してください。独自の IBAction と、ボタンのグラフィックも作成する必要があります。

関連するメモとして、これが最善のアイデアかどうかはわかりません。通常は、Apple の UI ガイドラインに従うのが賢明です。編集ボタンを配置できる場所は他にありませんか?たとえば、バーの右側?

于 2009-07-24T23:05:24.773 に答える
1

@Kelvin の回答は iOS 5 より前でも機能しますが、iOS 5 以降を使用している場合は、leftBarButtonItems配列プロパティが追加されました。leftItemsSupplementBackButtonまた、true に設定する必要があることに注意してください。

于 2012-02-14T00:09:47.637 に答える