24

UIBarButtonItems の水平方向の配置は問題ありません。スペースを固定/柔軟なスペース アイテムで埋めるだけです。ただし、ツールバー項目を垂直方向に調整できないようです。UIToolbar には配置プロパティがなく、UIBarButtonItem にはフレームを設定する方法がありません。

これを行う必要があるのは、initWithImage を使用して作成されたカスタム アイコンと、initWithBarButtonSystemItem で作成された標準アイコンを組み合わせて使用​​しているためです。カスタム アイコンが適切に中央に配置されていないため (適切に中央に配置されているシステム アイコンに比べて上にオフセットされている)、ツールバーがぎこちなく見えます。

4

3 に答える 3

34

はい、imageInsets はうまくいきました。

 float topInset = 4.0f;
 myUIBarButton.imageInsets = UIEdgeInsetsMake(topInset, 0.0f, -topInset, 0.0f); 

画像を 4 ピクセル下に移動します。

これを避けてください:

 float topInset = 4.0f;
 myUIBarButton.imageInsets = UIEdgeInsetsMake(topInset, 0.0f, 0.0f, 0.0f); 

画像を 4 ピクセル下に移動します (ただし、圧縮されたように見えるように画像の高さを再スケーリングします)。

于 2010-05-18T08:19:12.807 に答える
3

UIBarItem の imageInsets プロパティ?

于 2010-05-09T03:45:05.570 に答える
1

これを行うための単純でクリーンな方法はないように思われるので、私は醜いが機能的なハックであるネストを採用しました。ボタンを含む別の UIToolbar を、initWithCustomView を使用して元のツールバーの UIBarButtonItem として設定した UIView に貼り付けました。2 番目の UIToolbar は UIView 内で自由に移動でき、実際のアイコンは UIBarButtonItem のすべてのプロパティを保持します。

うーん。

于 2010-05-07T07:02:51.113 に答える