У меня есть вид, который перемещается вниз с очень медленной постоянной скоростью.Отображение доли пикселей в UIKit для плавного замедленного движения
var updater = CADisplayLink(target: self, selector: Selector("loop"))
func loop() {
view.center = CGPointMake(view.center.x, view.center.y + 0.01)
}
loop
называется 60 раз в секунду и переместить точку 0.01 Просмотреть вниз. 0,50 точка - пиксель на сетчатке.
Насколько я знаю, UIKit отображает только полные пиксели. Для меня есть проблема, потому что представление будет двигаться только на экране, когда Y-координата умножается на 0.50. Но это примерно 1,2 кадра в секунду вместо ожидаемых 60. Это выглядит плохо, а не гладко.
Есть ли какие-либо возможности в UIKit, чтобы решить эту проблему?
Почему вы используете CADisplayLink для простой анимации UIView? – matt
Что вы ожидаете увидеть на экране, когда вы перемещаете только 0,01 пикселя? – rmaddy
@matt это можно рассматривать как тестовый пример, на самом деле у меня есть анимация, которая не может быть выполнена с помощью стандартного механизма анимации UIView – user3537411