Я нигде не нашел ответа на этот вопрос, но это похоже на типичную проблему: я динамически (из файла xml) создаю представление для отображения «вопросов», которые я беру из файла XML. У меня проблемы с отображением вопросов с несколькими вариантами ответов. Я пробую следующий подход:

Question 1
MultipleChoiceQuestion 2
--First Option
--Second Option
--Third Option
Question 3
Question 4
MultipleChoiceQuestion 5
--First Option
--Second Option
and so on...

Итак, моя идея такова: у меня есть первый UITableView и строка для каждого «нормального» вопроса и второй UITableView для каждого вопроса «с множественным выбором», который должен быть загружен в строку из первого UITableView, как я показал ранее.

Это хороший подход или у вас есть лучший шаблон для решения этой проблемы?

Большое спасибо!

2
jcdmb 3 Июл 2010 в 13:00

2 ответа

Лучший ответ

Нет нет! Пожалуйста, нет! Не размещайте большие элементы пользовательского интерфейса, такие как представления таблиц, в tableviewcell (и, конечно же, не делайте их прокручиваемыми = P).

Как насчет того, чтобы дать пользователю возможность выбрать вопрос (по одному вопросу в строке), а затем отобразить окно выбора с ответами в том месте, где обычно находится клавиатура?

Точно так же, как список тегов выбора HTML в Mobile Safari.


Или вы можете использовать сгруппированное табличное представление с одной группой на вопрос, включая варианты ответов.

0
3 Июл 2010 в 17:31
+1 Или просто кастомные ячейки. Рассчитать высоту не так уж и сложно. Золотое правило: если вы думаете, что проблема является распространенной, но никто не делал этого раньше, вероятно, для этого есть веская причина.
 – 
Eiko
3 Июл 2010 в 13:14
Спасибо за быстрый ответ, Баард. Я не могу использовать средство выбора, потому что пользователь должен иметь возможность выбрать более одного варианта. Итак, я попробую вашу вторую рекомендацию: сгруппированный вид таблицы с одной группой на вопрос! Спасибо еще раз!!!
 – 
jcdmb
3 Июл 2010 в 13:19
Не забудьте пометить это как принятое, если оно вам помогло;) Кроме того, набросок идеи вашего приложения и пользовательского интерфейса на бумаге карандашом (или на камне с молотком) перед созданием окончательного приложения в Xcode / IB поможет вам предотвратить это. разочарования.
 – 
user142019
3 Июл 2010 в 13:57
1
См. hongkiat.com/blog/… и stackoverflow.com/questions/1287898/… для набросков информации.
 – 
user142019
3 Июл 2010 в 14:00
1
Кажется совершенно логичным использовать UITableView внутри UITableViewCell. Просто убедитесь, что вы отключили прокрутку. Пример необходимости такого поведения: у меня есть требование, когда у нас есть UITableViewCell, который на одной половине показывает список динамических данных (может быть 0-10 элементов, но не меняется после загрузки), а на другой стороне есть одиночный UIImageView. Я мог бы динамически отображать, скрывать и настраивать UILabel, но UITableView в 100 раз проще.
 – 
LightningStryk
4 Июл 2014 в 01:15

Существует руководство по созданию пользовательских UITableViewCells с UITableView внутри по адресу: http://iosstuff.wordpress.com/ 29.06.2011 / add-a-uitableview-inside-a-uitableviewcell /

IOS SDK является гибким, и вы можете добавить любой элемент подкласса UIView в ячейки tableview. Обратите внимание на приложение для чтения новостей «Pulse», получившее награду Apple Design Award. Это приложение имеет горизонтально прокручиваемые изображения, и его разработчики объяснили, как они использовали UITableViews для его создания. Так что не бойтесь воплощать в жизнь новые идеи, какими бы безумными они ни казались.

Удачи!

10
Bushra Shahid 29 Июн 2011 в 12:50