Я создаю приложение для iPad Pro, у которого есть UITableView, показывающий каталог с элементами. Есть много каталогов, каждый из которых содержит 1 тысячу элементов.
Цель
Я хотел бы узнать, как (лучше всего) дать возможность комментировать вещи в UITableView с помощью карандаша, чтобы пользователь мог прокручивать пальцем. Кроме того, то, что нарисовал пользователь, сохраняется в модели данных.
Позвольте мне объяснить, что я пробовал.
Одиночный UIView
Я помещаю один UIView поверх пользовательского UITableView, который переопределяет функции и фильтры touchesBegan/Moved/Ended/Canceled
на touch.type == UITouchType.Stylus
, чтобы знать, когда он палец и когда он карандаш. Это работает, но это не очень хорошее решение, так как изображение будет огромным и даже не возможно поставить для некоторых каталогов слишком много элементов.
В строке a UIView
Хорошо работает с большим каталогом, но проблема возникла из-за невозможности рисовать по строкам, которые должны быть возможны. Я еще не нашел способ сохранить жест в разных взглядах. Возможно ли это или есть какое-то обходное решение?
Исправлено UIView на экране
Выполняется при прокрутке, легко нарисовать что-либо, но неясно и трудно исправить рисованный материал в координатах таблицы, а также сохранить его. Он не чувствовал себя так, как казалось слишком сложным, чтобы, возможно, иметь холст размером с экран, и все, что нарисовано, преобразуется в UIImageView для строк, которые он охватывает и сохраняется там... вот где я сейчас, и я могу показать некоторый код, если этот подход имеет смысл.
Есть ли лучший подход к этому, поскольку мне кажется, что теперь это должно быть очень естественной необходимостью с помощью Pencil, т.е. комментировать и сохраняться в виде таблицы.
Кто-нибудь сделал что-то подобное или есть что-то, что я упустил? Может быть, какой-то разреженный UIImageView, чтобы у меня был сингл через массивную таблицу?
Я ищу хорошее решение и пример кода в зависимости от того, как задействовано решение.
Спасибо!
UPDATE
Итак, чтобы уточнить, элементы в таблице упорядочены по-фиксированному, так что вы можете использовать это, чтобы сохранить рисованные/аннотированные вещи как частичные.
Как правило, чертежи/аннотации могут сохраняться как от 1 до N изображений. Одно изображение во многих случаях слишком велико, так как элементы много тысяч, N изображений означает, что есть граница, где жест прерывается, и это не идеально подходит для удобства использования, поскольку рисунок не является непрерывным (если это невозможно решить, будь велика).
Модель данных может быть каталогом [- > pages] → , но мне не хотелось бы иметь концепцию страницы, поскольку она (более короткая причина) уменьшает количество элементов на странице, и все дело в том, чтобы максимизировать элементы для его легче комментировать.