Сохранение рисунков кварца, выполненных в формате PDF, на ОС iPhone - PullRequest
2 голосов
/ 07 августа 2010

В моем приложении я отображаю страницы в формате PDF и хочу, чтобы пользователь «пометил» документ, нарисовав его от руки вверху страницы. Я могу обработать код Quartz для рисования от руки, но какой подход я могу использовать, чтобы сохранить эти «пометки», чтобы они могли повторно отображаться на странице при следующей загрузке PDF-файла в приложение?

Спасибо

// Скотт

1 Ответ

0 голосов
/ 07 июня 2011

Проблема:

  • С учетом страницы в формате PDF и серии инструкций по рисованию,
  • приложение должно иметь возможность повторять эти инструкции для этой страницы
  • когда приложение было закрыто между получением инструкций по рисованию и просмотром страницы.

Решение:

  • Сохранить ссылку на страницу PDF и инструкции по рисованию в постоянном хранилище.
  • Загрузить инструкции по рисованию для просматриваемой страницы.
  • Визуализация инструкций по рисованию.

Сохранить ссылку на страницу PDF можно так же просто, как сохранить URL-адрес, связанный с PDF и текущей страницей.

Сохранение инструкций по рисованию может быть таким же простым, как и архивирование UIBezierPath, используемых в качестве инструкций по рисованию, поскольку UIBezierPath соответствует NSCoding. Если вместо этого вы используете CGMutablePathRef, вы можете инициализировать UIBezierPath из CGPath и архивировать только что инициализированные пути Безье. Вы можете извлечь CGPath из UIBezierPath после разархивирования.

Если вам не нужно, чтобы пользователь мог редактировать инструкции для рисования в следующем сеансе, тогда вы можете визуализировать чертеж в статическое изображение и просто загрузить и нарисовать его в следующий раз. После этого сеанса сделайте эти инструкции поверх исходного изображения, сохраните их и продолжайте, как и раньше.

...