1

私はアプリ内に、左、右、中央のカスタムボタンを表示する柔軟なナビゲーションバーを作成しました。これまでのところ私は働いて持っている:UIBarButtonItemはnavbarの途中にありますか?

  • 右/左/中央 - ノーマル探してボタン - それは
  • 右/左にカスタムイメージを持つノーマル探してボタン - カスタムイメージおよび/またはテキスト
  • 右/左カスタムテキスト付きでそれが通常見ている私は、デフォルトを意味UIBarButtonItemStyle-だけの素敵な光沢のあるボタンで

私の質問は、どのようにナビゲーションバーのMIDDLEで同じ外観にすることができますか?カスタムUIButtonを作成するだけでカスタム/テキストイメージを作成できます。右/左にUIBarButtonItemを作成しますが、途中でUIButtonビューをnavbarのサブビューとして追加するだけです。

UIBarButtonItemをサブビューとしてnavbarに追加することはできません。作成するUIButtonはUIBarButtonItemのようには見えません。

私が考えることができる唯一の回避策は、スクリーンショットから盗むストレッチ可能なカスタムイメージを使用することです。私はむしろこのようにするのを避けたいと思う。何か不足していますか?

********** UPDATE ************* オープンソースライブラリThree20では、UIBarButtonItemsのように見えるUIButtonsを作成することができます。次に、サブビューとして手動で配置するか、タイトルビューを設定することによって、バービューに追加することができます。

答えて

1

を中心にするためにそれらの間には何も引き起こして互いに相殺されます(より良いかを、UIButtons)他の場所でも使用できます。

あなたは正しい軌跡のようですが、より良いアートワークが必要です:-) Photoshopの.PSDファイルfrom hereで多数のiPhone UIコンポーネントを取得できます。それらには、標準のUIButtonイメージのベースとして使用できる事前レンダリングされたバーボタンがあります。 Photoshop(またはまともな描画プログラム)を使用している場合は、中央からボタンを伸ばして、コーナーが歪まずにサイズに合わせることができます。ラベルを追加するだけで、あなたは良いことになるはずです。

+0

ありがとうございました。ちなみに、イメージを中央からプログラムでストレッチすることができます(search stretchableImage)。また、UIBarButtonItemがUIButtonから継承しないことは非常に奇妙であると思います。 – Sam

+0

また、[this GitHub project](https://github.com/0xced/UIKit-Artwork-Extractor)を使用して、伸縮可能なボタンやテキストフィールドなどを含むUIKitや他のフレームワークからすべての画像を抽出することもできます – kervich

1

左右にフレキシブル領域を入れて、彼らはUIBarButtonItemsがUIViewsから派生しなかった理由を私は理解していなかっ