Панель редактирования данных представления таблицы iPhone - PullRequest
1 голос
/ 13 января 2010

У меня есть приложение, над которым я работаю, и мне нужно, чтобы пользователь мог добавлять новые «Шоу», «Движения» и «Точки». Все они представлены классами. В корне приложения отображаются все шоу, пользователь может нажать на шоу, увидеть движение в этом шоу, затем нажать на движение и увидеть точки в движении. Работает прекрасно.

Теперь мне нужно, чтобы пользователь мог добавлять и редактировать эти экземпляры этих классов. Я думаю, что это будет работать, когда пользователь нажимает кнопку «Добавить шоу» (или «Добавить движение» и т. Д.), И на панель управления будет добавлено новое представление. Это работает. Когда кнопка нажата, создается новый экземпляр класса show и передается новому контроллеру представления. Это тоже работает. Если пользователь хочет отредактировать шоу, тогда он нажмет кнопку редактирования строки, и экземпляр класса (который уже существует) будет передан новому контроллеру представления, и пользователь сможет его отредактировать (Это следует использовать один и тот же контроллер представления для добавления и редактирования)

Мой вопрос заключается в том, что в примерах, которые я видел, создание представления для редактирования всегда очень грязно. Представление редактирования - это табличное представление, в котором каждая строка имеет какой-то элемент управления. Обычно это UITextField, но это может быть слайдер, и это может быть слайдер, в котором появляется другое представление, и пользователь должен проверить одно значение. (Это похоже на приложение адресной книги при добавлении и редактировании контакта)

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

Ответы [ 2 ]

0 голосов
/ 26 января 2010

Насколько мне известно, нет структурного решения для решения этой проблемы. Боюсь, что управление ячейками с помощью дочернего UITextField или других элементов управления самостоятельно - это единственный метод. Это действительно становится грязным и болезненным очень быстро, я, конечно, чувствую вашу боль.

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

Если вы найдете лучший / более чистый метод для решения этих ситуаций, обязательно отзовитесь.

0 голосов
/ 13 января 2010

Насколько я знаю, режим редактирования - единственный способ внести изменения, которые вы описываете (если я правильно понял). Я согласен, что это не самый элегантный подход. http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/TableView_iPhone/ManageInsertDeleteRow/ManageInsertDeleteRow.html#//apple_ref/doc/uid/TP40007451-CH10-SW19

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