Всем привет! Сделал кастомный сегмент контроллер по видио уроку одно ютюбера. Работает все хорошо кроме длинны выбранного элемента. В зависимости от устройства в стореборде, а именно если в стореборде выбран девайс и его экрана. Если это например 6s то на устройствах с такой же шириной экрана (6, 7, 8, X) все нормально, а на плюсах короче чем надо и наоборот если выбран девайс 6 плюс то все работает на 8 Плюс и 7 Плюс нормально, а на остальных больше чем надо. Думал это проблемы xcodе компилятора но при выгрузки на телефон все тоже самое(зависит от сториборда) Проект прилагается . Ширина выбранного объекта устанавливаю в строчке 75-77. Подскажите, как решить эту проблему?
Кстомный сегмент контроллер
haymob
#2
Советую поискать другого рукожопого ютубера.
В качестве временной меры, пересчитайте ширину “selector” в layoutSubviews:
class SegmentedControl: UIControl {
// .............................
override func layoutSubviews() {
super.layoutSubviews()
selector.frame.size.width = frame.width / CGFloat(buttons.count)
}
}
ruMaximum
#3
Привет. Я вчера скачал этот проект, потыкал в него палочкой, но не смог разобраться с проблемой.
Ты говоришь, что мера временная. А есть какая-то постоянная(нормальная)?
И почему надо пересчитывать ширину фрейма?
haymob
#4
Переписать заново https://yadi.sk/d/hASxNBX03TL9aa
selectorWidth не правильно рассчитывается.