我只是将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
}