Swiftで袋文字を作る
袋文字を作りたくて、UISliderで文字の大きさとフチのサイズを可変にする方法を調べた。
import UIKit class ViewController: UIViewController { @IBOutlet weak var label: UILabel! @IBOutlet weak var fontSize: UISlider! @IBOutlet weak var edgeSize: UISlider! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } @IBAction func fontSizeChanged(_ sender: Any) { label.font = UIFont.boldSystemFont(ofSize: CGFloat(fontSize.value)) } @IBAction func edgeSizeChanged(_ sender: Any) { if let text = label.text { label.attributedText = NSAttributedString(string: text, attributes: label.makeAttributedString(font: label.font, strokeEdge: edgeSize.value, foreGroundColor: UIColor.black, strokeColor: UIColor.green)) } } } extension UILabel { func makeAttributedString(font: UIFont, strokeEdge: Float, foreGroundColor: UIColor, strokeColor: UIColor) -> [NSAttributedString.Key : Any] { return [.strokeWidth : strokeEdge, .font : font, .foregroundColor :foreGroundColor, .strokeColor : strokeColor ] as [NSAttributedString.Key : Any] } }
この後はカラースライダーで文字の色を可変にする方法を探したい
参考にしたページ