2

ボタンを含む UIBarButtonItem があり、押された/押されていない状態のカスタム背景画像を設定しました。押された画像は 4px 下に移動されるため、押されていないときのテキストは垂直方向に中央からずれて見えます。を使用してテキスト ラベルの位置を変更できることはわかって[button setTitleEdgeInsets:UIEdgeInsetsMake(10.0, 10.0, 0.0, 0.0)]いますが、特定のコントロール状態 (押されていない状態) に対してのみこれを行うことはできますか?

これが UIButton のサブクラス化を意味する場合、drawRect ですべての描画を自分で処理する必要はありませんか?

4

1 に答える 1

1

いいえ、サブクラス化した場合、自分で描画を処理する必要はありませんUIButton。1 つのアプローチは、サブクラス内のプロパティenabledとプロパティを単純にキー値観察し、状態が変化するたびにエッジ インセットを適切な値に調整するだけです。ここでのこの質問は、ボタンの状態変化を観察することに関連しています。selected

于 2012-02-19T15:01:24.537 に答える