Я просто перетаскиваю UISlider
в моем UIViewController
из UIStoryboard
и хочу выполнить какое-то преобразование.Итак, я пишу код под didSet
методом, и он идет по бесконечному циклу.Что я делаю не так?
@IBOutlet weak var sliderNew: UISlider! {
didSet {
// Below code calling infinite times
let scale = self.view.frame.size.width * 0.25
sliderNew.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2).scaledBy(x: scale, y: scale)
}
}
Обновление
В случае, если я просто напишу приведенный ниже код, он будет работать нормально.
@IBOutlet weak var sliderNew: UISlider! {
didSet {
sliderNew.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2).scaledBy(x: 1.5, y: 1.5)
}
}
Я пытался сдругой путь, но все тот же вопрос.
@IBOutlet weak var sliderNew: UISlider! {
didSet {
sliderNew.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2).scaledBy(x: sliderScale, y: sliderScale)
}
}
fileprivate var sliderScale: CGFloat {
//The below code calling infinite loop, why?
return self.view.frame.size.width * 0.25
}