2016-11-15 7 views
6

Swift 3でUIButtonの周りにパディングを追加する方法を理解するのに2日間を費やしました。背景画像ではなくカスタム画像を設定し、次のコードでタップ可能な領域を増やそうとしました:Swift 3のUIButtonパディング

backButton.imageEdgeInsets = UIEdgeInsets(top: -44, left: -44, bottom: -44, right: -44) 

しかし、動作しません!私の最大の成功は、ボタン自体がタップ可能な領域が馬鹿馬鹿しくとどまるほど大きくなることです。助けてください。 enter image description here

+0

なぜあなたは事 'imageEdgeInsets'はタップ可能な面積を増加させるのですか?あなたがタップ可能な領域を必要とするほど大きいボタンのフレームを設定すると、あなたの問題は何ですか? – alexburtnik

+0

それは画像をその国境に引き伸ばすので...しかし、問題は解決されました! –

答えて

15

コンテンツインセットでタップ可能な領域を増やすことができます。ボタンフレームも同様に増加しますが、目に見えないほど大きなタップ可能領域を作成しながらコンテンツサイズを維持します。

左インセットを0に設定すると、「ログイン」を矢印の近くに表示しようとすると画像が左端に表示されることがありますが、その場合はわかりませんあなたが達成しようとしていること。

enter image description here

またはプログラム:

button.contentEdgeInsets = UIEdgeInsets(top: 44, left: 0, bottom: 44, right: 44) 

あなたはまた、画像が0にはめ込ま左とタイトルが、例えば20にはめ込み、左設定し、その後、ボタン一つで一緒にあなたの画像やタイトルを追加することができますあなたが探しているエフェクトを作成します。再び、仮定します。

enter image description here

関連する問題