[Swift] UISliderをカスタマイズしてみる
iOSの標準コントロールに、UISliderというのがありますが、現在の値を表示したいと思ったことはないでしょうか。 プロパティを探してもそれらしいものが見つけられなかったので、UISliderを継承してオブジェクトを作ってみました。 UISlider 今回作成するオブジェクト 環境 MacOSX 10.14 Xcode 10.1 Swift 4 Target iOS 9.0 実現する内容 スライダーの値を表示する スライダーの上に見出し(タイトル)を表示する 増加量(ステップ量)を指定できるようにする 実装 SUISlider UISliderを継承して、SUISliderを作成します。 ソースの全体像は下記の通りです。 import UIKit public class SUISlider : UISlider { var labelTitle: UILabel var valueWidth: CGFloat = 60 var stepValue : Float = 0 private var labelValue: UILabel private let SPACING: CGFloat = 8 public override init(frame: CGRect) { labelTitle = UILabel() labelValue = UILabel() labelValue.textAlignment = NSTextAlignment.right super.init(frame: frame) self.addSubview(labelTitle) self.addSubview(labelValue) self.addTarget(self, action: #selector(self.onValueChanged(sender: )),