2012-03-09 7 views
0

私はInterface Builderで設定したカスタム背景を持つUIButtonを持っています(画像参照)。それは素敵に見えますが、押し込まれた状態では、それは本当に醜くなります(2番目の画像を参照)。何が起きてる?通常UIButtonとCust。背景が押されたときに悪く見える

:プレス

see picture

enter image description here

+0

それは正直に悪いとは思わない – JTApps

+4

@JTAppsはいそれは – QED

+1

普通の状態のボタンのための背景イメージを設定することをお勧めしたいと思います。 – Luke

答えて

1
[btn setBackgroundImage:[[UIImage imageNamed:@"button_red.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(12, 12, 20, 12)] forState:UIControlStateNormal]; 
[btn setBackgroundImage:[[UIImage imageNamed:@"button_red_pressed.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(12, 12, 20, 12)] forState:UIControlStateHighlighted]; 

をこの問題を解決する必要があります。押されたときに、次の私のために働いた

更新

が、それも暗いそれをアニメ化。

また、ボタンのスタイルをカスタムに変更すると、青いボタンの背景が削除されます。

+0

はい、それはトリックをやっているようです。興味深いことに、同様の古い議論では、人々は2つではなく1つのイメージを使用するように見えます。私は、iOSが...あなたがお勧めのように... – Macondo2Seattle

+0

のiOSを行うことができ、余分な画像なしでプレスをアニメーション私の答え – QED

+1

に加えを見ることができるだろうと思ったあなたはカスタムを使用する場合は、iOSのは青だけでなく、自分のものを、取得しますボタン。 –

0

郵便いくつかのコードまたは多分イメージそのもの。 UIImageresizableImage*のいずれかの方法で「押された」画像を宣言する必要があるかのように見えます。これは、ボタンrectを埋めるために伸びています。

また、iPhone SOCKS projectで使用されているMOButtonMOGlassButtonクラスが好きです(それ自体で便利です)。

enter image description here

+0

これで他の属性と一緒に、何をするかを選択するためのボタンを選択すると、Ibの右側の列のセクションでは、イメージがされているリコール:http://i.stack.imgur.com/ 2jkRR.png。このためのコードはありません。すべてInterface Builderで行います。私はhttp://stackoverflow.com/questions/915416/is-there-an-way-to-make-an-invisible-uibutton-that-will-still-be-thereに記述されているようにコードでそれをやろうとしました。 - と - 猫、しかし同じ結果を得ました:正常な状態でよく見え、押された状態で悪いです。 – Macondo2Seattle

+1

あなたは背景ではなく画像のプロパティを設定しました。この方法では、あなたのボタンはテキストを持つことができません。 – Macondo2Seattle

+0

@BlackRiderが修正されました。ヘッドアップのおかげで! – QED

関連する問題