まだ学習中SwiftとObjective-Cがわからない。ボタンのテキストをプログラムで変更するには、titleEdgeInsets
を使用する必要があるが、実際には使用方法がわからない。
下部と左右両方のボタン(パディング)のテキストを変更したいと思います。
回答や例に感謝します!
引き続き有効:iOS 12/Xcode 10/Swift 4.2/OSX 10.13.2
iOS 9.1/Xcode 7.1/Swift 2.1/OSX 10.10.5
:
メソッドtitleEdgeInsets
は私にとってはうまくいきませんでした。ボタンのフレームがテキストをしっかりとハグし(フレームサイズを指定しませんでした)、フレームの背景色が赤になります。実行後:
myButton.titleEdgeInsets = UIEdgeInsetsMake(10,10,10,10)
赤い背景は各辺で内側に10ピクセル縮小しました。これは、テキストの一部が赤い背景の外側にあることを意味します。負の値を使用しても、元のフレームサイズには影響しませんでした。
テキストをパディングし、効果的にフレームを大きくすることができました:
myButton.contentEdgeInsets = UIEdgeInsetsMake(5,5,5,5)
iOS 10およびSwift 3の例
IOS 11およびSwift 4。
refineButton.contentEdgeInsets = UIEdgeInsets(top: 5, left: 0, bottom: 0, right: 0)
これらのコード行を実行することで、上、左、右、下からパディングを追加できます。
button.titleEdgeInsets.left = 10; // add left padding.
button.titleEdgeInsets.right = 10; // add right padding.
button.titleEdgeInsets.top = 10; // add top padding.
button.titleEdgeInsets.bottom = 10; // add bottom padding.
IOS 9.1/Xcode 7.1/Swift 2.1の場合
@IBOutlet weak var ratingButton: UIButton!
override func viewDidLoad() {
ratingButton.contentEdgeInsets = UIEdgeInsets(top:15,right:10,bottom:15,left:10)
super.viewDidLoad()
}