【swift】ボタンをカスタマイズする方法メモ
はじめに
今回やりたかったのは、大きめのボタンで文字列が2行のもの。
まぁ1回やってしまえばどうってことないんですど次回やるときのためにメモ
ちょっとセンスないですが、やりたいことはこんな感じです

実装
iPhoneアプリでボタンなどの部品をカスタマイズする方法は基本的に同じで、viewに部品を追加してやるだけなので直感的にもわかりやすかったです
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var button = CustomButton(frame: CGRectMake(0,0,200,100))
button.layer.position = CGPoint(x: self.view.frame.width/2, y:200)
button.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)
self.view.addSubview(button)
}
}
class CustomButton: UIButton {
var labelText = UILabel()
var labelText2 = UILabel()
override init(frame: CGRect) {
super.init(frame: frame)
self.setData()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.setData()
}
func setData() {
// ボタンの色
self.backgroundColor = UIColor.greenColor()
// 角丸に
self.layer.cornerRadius = 10
// ラベルの位置を定義
var widthMax: CGFloat = self.frame.width
var heightMax: CGFloat = self.frame.height
var widthLabelText: CGFloat = widthMax
var widthLabelText2: CGFloat = widthMax
var heightLabelText: CGFloat = heightMax/2
var heightLabelText2: CGFloat = heightMax/2
var xLabelText: CGFloat = 0
var xLabelText2: CGFloat = 0
var yLabelText: CGFloat = 0
var yLabelText2: CGFloat = heightLabelText
// ラベルをボタンに追加
labelText.frame = CGRectMake(xLabelText, yLabelText, widthLabelText, heightLabelText)
labelText.textAlignment = NSTextAlignment.Center
labelText.text = "ここから"
labelText.font = UIFont.boldSystemFontOfSize(23)
self.addSubview(labelText)
// ラベルをボタンに追加
labelText2.frame = CGRectMake(xLabelText2, yLabelText2, widthLabelText2, heightLabelText2)
labelText2.textAlignment = NSTextAlignment.Center
labelText2.text = "スタート"
labelText2.font = UIFont.boldSystemFontOfSize(23)
self.addSubview(labelText2)
}
}基本こんな感じでいけるのでわかりやすいですね
以上です