UISlider, чтобы увидеть шаги - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу настроить свой UISlider для отображения шагов. Я знаю, что этот вид слайдера существует изначально, потому что Apple использует его в «Настройки»> «Основные»> «Специальные возможности»> «Размер текста».

Я искал в Google, но ничего не нашел.

1 Ответ

0 голосов
/ 24 апреля 2019

StoryBoard

enter image description here

StepSliderViewController Class

import UIKit

class StepSliderViewController: UIViewController {

    @IBOutlet weak var slder: UISlider!
    @IBOutlet weak var twoLeadSp: NSLayoutConstraint!
    @IBOutlet weak var threeLeadSp: NSLayoutConstraint!
    @IBOutlet weak var fiveLeadSp: NSLayoutConstraint!
    @IBOutlet weak var sixLeadSp: NSLayoutConstraint!


    var lastStep: Float = 0
    var stepValue: Float = 15

    override func viewDidLoad() {
        super.viewDidLoad()

        twoLeadSp.constant = -(slder.layer.frame.size.width / 6)
        threeLeadSp.constant = -((slder.layer.frame.size.width / 6) * 2)
        fiveLeadSp.constant = -((slder.layer.frame.size.width / 6) * 4)
        sixLeadSp.constant = -((slder.layer.frame.size.width / 6) * 5)

        self.slder.value = 45.0
        self.lastStep = (self.slder.value) / self.stepValue;
    }

    @IBAction func sliderChange(_ sender: Any) {
        let newStep = round((slder.value) / self.stepValue)
        self.slder.value = newStep * self.stepValue
    }

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
    }
    */

}

Результат

enter image description here

...