Я использую CALayer
для отображения пути через метод делегата drawLayer:inContext
, который находится в контроллере представления, к которому принадлежит этот слой. Каждый раз, когда пользователь перемещает палец на экране, путь обновляется, и слой перерисовывается. Тем не менее, рисунок не справляется с прикосновением: всегда есть небольшое отставание в отображении последних двух точек пути. Он также мерцает, но только при отображении последних двух-трех очков снова. Если я просто рисую чертеж drawRect
, он отлично работает, и рисунок определенно достаточно быстр.CALayer мерцает при рисовании пути
Кто-нибудь знает, почему он так себя ведет? Я подозреваю, что это связано с буферизацией слоя, но я не мог найти документацию об этом.
OS X, не так ли? Возможно, вы используете неявные анимации свойств, которые по умолчанию включены в OS X. Вы можете попробовать: [[CATransaction begin]; [CATransaction setValue: @YES forKey: kCATransactionDisableActions]; ... привлечь ...; [CATransaction commit]; ' – nielsbot