Пользовательский кадр подпредставления UISlider смещен от основного вида - PullRequest
0 голосов
/ 09 февраля 2019

Мой пользовательский фон uislider uiview смещен относительно оригинальной рамки просмотра.и чем дальше оригинал ползунка (x, y) от 0,0, тем больше смещение.

Пожалуйста, проверьте изображение ниже.

смещение фрейма подпункта uislider

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 голосов
/ 10 февраля 2019

попробуйте

view.frame = self.bounds
0 голосов
/ 09 февраля 2019

Я думаю, что проблема в этой строке:

view.frame = self.frame

Допустим, ваш скроллер находится в положении (10, 10).Затем фоновый кадр также находится в положении (10,10) в координатном кадре прокрутки, которое (20,20) в исходном виде.Я предлагаю заменить эту строку следующим образом:

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...