Как сделать редактируемый WebView на UITableViewCell? - PullRequest
1 голос
/ 05 июля 2011

Как я могу загрузить локальное HTML-содержимое в WebView на UITableViewCell, который также может быть редактируемым, например, в почтовом теле яблочного примера MailComposer . Здесь мы также можем получить копировальную пасту и лупу. Пожалуйста, помогите мне с предложением или с примерами кодов. Меня уже предупредили, чтобы меня уволили. Пожалуйста, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 05 июля 2011

Со следующими допущениями:

  1. Пользователям не нужны расширенные функции редактирования (изображения, маркированные списки, WYSIWYG, все что угодно).
  2. Пользователи не редактируют разметку HTML.
  3. HTML включает только текст и основное форматирование, например разрывы строк и отступы.

Я бы предложил:

  1. Поддерживать две версии вашего HTML-контента, одна из которых отображается вUIWebView и на что пользователь может редактировать.В редактируемом файле все теги разметки должны быть удалены и, где это целесообразно, заменены соответствующими им символами открытого текста (например, замените <br> на \n).
  2. Загрузите HTML-версиюсодержимое в вашей таблице, как обычно (я полагаю, вы уже делаете это).
  3. Когда ваша таблица перейдет к редактированию, замените (или наложите) UIWebView на редактируемый UITextView, заполненный вашимиHTML-версия содержимого.
  4. Когда пользователь указывает, что он завершил редактирование, возьмите отредактированную версию текста и инвертируйте замены, которые вы сделали на шаге 1 (например, заменяйте каждый \n на <br>).
  5. Загрузите измененную строку, полученную на шаге 4, в UIWebView.При желании сохраните его в файл, если вы хотите, чтобы приложение запомнило / сохранило постоянную историю изменений в поле.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...