Я уже несколько дней борюсь с проблемой логики, связанной с UIScrollViews.Моя цель состоит в том, чтобы сделать ползунок температуры, который начинается при переменной минимальной температуре и останавливается при максимальной температуре.
Для этого я рисую каждые десять точек линию, которая должна представлять градус.Я хочу, чтобы ползунок начинался с 0 градусов Цельсия или 273 Кельвинов и располагался посередине экрана.Поэтому я вычисляю 273 * 10 и получаю желаемую начальную точку просмотра UIScrollview.Кроме того, я вычитаю половину точек на экране и затем прокручиваю их там.Работает без проблем, когда указанная минимальная температура <= 0. </p>
Это результат, когда температура начинается с <= 0 и отображается: </p>
Если я все делаю с Кельвином или температура по Цельсию начинается с> 0, Scrollview не прекращает прокрутку до примерно -187 K, что, конечно, не должно происходить:
Вот формула, которую я сейчас использую:
// CONTENT SIZE
self.universalRulerScroll.contentSize = CGSize(width: (maxTemp*10) + halfScreenWidth, height: scrollHeight)
// LEFT INSET
self.universalRulerScroll.contentInset.left = CGFloat(abs(minTemp)*10) + CGFloat(halfScreenWidth)
// SCROLL AT THE BEGINNING TO:
self.universalRulerScroll.contentOffset = CGPoint(x: -CGFloat(halfScreenWidth)+(zeroTemp*10), y: 0)
Может быть, кто-то сразу увидит логическую ошибку?Спасибо!