私はあなたのための包括的な解決策を持っていると思います。
1) 経験上、BarButtonItems の制限に屈しないことが最善です。シンプルな UIButton を作成し、好みに合わせてカスタマイズすることをお勧めします。タッチイベントにアクションを追加するかもしれません..カスタムの背景とタイトルの色でブランド化する...など..おそらくプロパティとして、このボタンへの参照を保持します。
2) 次に、UIBarButtonItem 初期化子 -initWithCustomView を使用して UIBarButtonItem のインスタンスを作成し、UIButton インスタンスをこのカスタム ビューとして init に忍び込ませ、それを完全に制御します。
3) 最後に、これを行うだけです。self.navigationItem.LeftBarButtonItems = @[ourUIBarButtonItem].
ナビゲーション バーには、一連の左ボタン用の "leftBarButtonItems" 配列プロパティと、右側用の rightBarbuttonItems があります。これを、ボタンを含む UIbarButtonItem を含む独自の配列に置き換えるだけで、ボタンへの参照があります。
これで、ナビゲーション バーに適切に配置されたボタンを完全に制御できるようになりました。
ノート!- そのような leftBarButtonItem を提供すると、標準の Apple BackButton はなくなります。