我的自定义uislider背景uiview偏离原始视图框架。并且滑块原始(x,y)从0,0越远,偏移越多。
请查看下面的图片。
import UIKit
class customSlier:UISlider {
override func awakeFromNib() {
super.awakeFromNib()
self.initializeSomeSettings()
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
private func initializeSomeSettings() {
let view: UIView = UIView()
view.frame = self.frame
view.backgroundColor = UIColor.yellow
self.insertSubview(view, belowSubview: self)
}
override func layoutSubviews() {
super.layoutSubviews()
}
}
我认为问题出在这一行:
view.frame = self.frame
假设你的卷轴位于(10,10)位置。然后,背景帧也位于滚动框的协调器中的位置(10,10),在原始视图中是(20,20)。我的建议是用这个替换这一行:
view.frame = CGRect(origin: .zero, size: self.frame.size)
希望这可以帮助。
试试这个
view.frame = self.bounds