2011-01-21 8 views
2

私は、ボタンに窪んだ外観を与えようとしています。これを達成するためには、ボタンを押したときにボタンのタイトルを押し下げる必要があります。 contentEdgeInsetsは私が必要とするものだと思いますが、ボタンの状態に応じて異なる値を設定する方法を理解することはできません。UIButtonのさまざまな状態のsetContentEdgeInsets?

これは動作します:

introButton.contentEdgeInsets = UIEdgeInsetsMake(0, 12, 0, 0); 

これは、しかし、しません:

[introButton setContentEdgeInsets:UIEdgeInsetsMake(0, 12, 0, 0) forState:UIControlStateNormal]; 
// warning: 'UIButton' may not respond to '-setContentEdgeInsets:forState:' 

答えて

1

デバッガはあなたに答えを与えている:forState:UIButtonは-setContentEdgeInsets 'に応答しません': 。

contentEdgeInsetsはUIButtonのプロパティで、要求していることを行うクラスメソッドはありません。

あなたはUIButtonをサブクラス化し、ボタンが押されたことを伝え、それに応じてボタンを更新するデリゲートを実装する必要があると思います。

+0

ありがとうございました。私は私のアプリのどこか他の場所で作業コードに関する警告を見たので、私は確信していませんでした。私はUIButtonのサブクラスを調べます。 – Alan

関連する問題