自定义UISlider子视图框架从主视图偏移

时间:2019-02-09 19:49:28

标签: ios swift uislider subview

我的自定义uislider背景uiview从原始视图框架偏移。 并且滑块原始(x,y)离0,0越远,偏移量越大。

请检查下面的图像。

uislider subview frame offset

import UIKit

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()

    }

}

2 个答案:

答案 0 :(得分:0)

我认为问题出在这一行:

view.frame = self.frame

假设您的滚动条位于位置(10,10)。然后,背景框也位于滚动框的协调器中的位置(10,10),原始视图中为(20,20)。我的建议是将此行替换为:

view.frame = CGRect(origin: .zero, size: self.frame.size)

希望这会有所帮助。

答案 1 :(得分:0)

尝试

/work/waterhouse_team/apps