2012-02-19 9 views
2

私はボタンを含むUIBarButtonItemを持っています。このボタンには、押された/押し込まれていない状態のカスタム背景画像が設定されています。押し込まれた画像は4ピクセル下に移動します。そのため、非圧縮時のテキストは垂直方向の中心から外れて見えます。 [button setTitleEdgeInsets:UIEdgeInsetsMake(10.0, 10.0, 0.0, 0.0)]を使用してテキストラベルの位置を変更することはできますが、これは特定のコントロール状態(非表示)に対してのみ行うことができますか?異なる国のUIButtonのインセット

これがUIButtonをサブクラス化することを意味するのであれば、drawRectのすべての図面を自分で扱うことはできますか?

答えて

1

サブクラスをUIButtonにした場合は、図面を自分で処理する必要はありません。 1つのアプローチでは、サブクラス内のenabledselectedのプロパティをキー値で観察し、状態が変わるたびにエッジのインセットを適切な値に調整するだけです。 This question here relates to observing the button for state changes.

+0

ありがとうございました。私はhttp://www.leghumped.com/blog/2012/03/01/pressable-bar-buttons-with-addobserver/にブログの投稿を書いた。 – Echilon

関連する問題