Ok. Я ВИДЕЛ МНОГО тем, которые похожи на то, что я пытаюсь сделать здесь, но ничего, что полностью соответствовало бы. Может быть, мой подход далеко от базы. Вот сделка.
Я рисую диаграмму для своего подкласса UIView в drawRect:. Затем я использую UIPanGestureRecognizer для перевода смещения диаграммы (внутреннего, а не в иерархии представлений) вправо/влево. Это прекрасно работает, но моя проблема в том, что действие распознавателя запускается с относительно низкой частотой. В частности, результирующее панорамирование НАМНОГО более изменчиво, чем, скажем, в прокрутке или табличном представлении. Особенно, когда количество пунктов в моем графике увеличивается. Теперь то, что я хотел бы сделать, это на самом деле не запускать рисование из действия жеста панорамирования, а иметь таймер, срабатывающий примерно 30 раз в секунду, интерполируя смещение с момента срабатывания панорамирования до текущего момента. Однако это становится все более и более сложным.
У кого-нибудь есть предложения? Должен ли я действительно просто делать это с помощью UIScrollView? Причина, по которой я бы предпочел этого не делать, заключается в том, что данные могут распространяться довольно далеко в любом направлении, и я хотел бы не рисовать (или, по крайней мере, сохранять) весь путь сразу, а просто сделать раздел, который в настоящее время отображается. Должен ли я использовать CAShapeLayer? Я хотел бы получить некоторую информацию, прежде чем я потрачу еще один день, играя с этими возможностями...
Любой вклад / опыт будут приветствоваться.
drawRect
? Разве вы не просто перемещаете вид? - person spring   schedule 28.03.2012