8

以前に、UIButton にテキストとイメージの両方を (インターフェイス ビルダーで) 設定するプロジェクトを作成しました。

別のプロジェクトを作成しましたが、同じことを達成したいのですが、ボタンに画像を設定すると、タイトルが消えます (画像の後ろに隠れません)。

これがなぜなのか理解できないようですので、誰かがこの主題に光を当てることができれば、私はそれを感謝します!

ありがとう。

4

4 に答える 4

23

ボタンをカスタム タイプに変更します。画像を入れてから文字を入れます。

独自の背景を配置する必要がありますが、その時点で、エッジ設定を使用してテキストと画像の両方を配置できます.

画像とテキストを含むすべてのボタンはカスタムに設定されており、最終的には独自の bg 画像もあります。

あ、もう一つ使ってます。角の半径です。ボタンがデフォルトで持っているような丸みを帯びた効果をビューに与えるため。

saveButton.layer.cornerRadius = roundingNumber.floatValue;

さらに、borderWidth と borderColor を cornerRadius と組み合わせて使用​​して、元のボタンに非常によく似たボタンを取得できる必要があります。

saveButton.layer.borderRadius = 1.0f;
saveButton.layer.borderColor = [[UIColor blueColor] CGColor];
// These are not the exact values (or maybe they are) but you get the idea.

それが役立つことを願っています。

修正

少し調べてみると、ボタンに画像を入れるとこうなるようです。テキストは右に押し出されます。

エッジ設定を使用して、画像の上に戻します。

ボタンを選択した状態で、[属性インスペクター] > [ボタン] > [エッジ] > (ドロップダウンの [タイトル]) を確認します。

私が思いついた方程式は

[Edge inset for Title] Left = -(imageWidth * 2)

これにより、タイトルが入力した画像と左揃えになります。

正しく表示するには、カスタムの配置を行う必要があります。

これは完全に Interface Builder で行うことができ、RoundedRect ボタン スタイルを使用できます。

変更を示すいくつかの画像を次に示します。

ここでは、ボタンの種類を「カスタム」に設定して、境界線と背景を削除します。

カスタム設定しました

ここでは、「タイトル」のエッジ セットで上と左を設定します (タイトルはドロップダウンのオプションです)。

Left と Top が設定されました

編集

最新の Xcode はサイズ設定を新しい場所に移動しました

ここに画像の説明を入力

于 2012-12-17T17:48:53.787 に答える
0

ボタンの画像を設定しているように聞こえますが、背景画像は設定していないようです。

于 2012-12-17T16:53:42.113 に答える