2016-07-19 3 views
0

Мне нужно создать приложение, где мне нужно отображать элементы пользовательского интерфейса в соответствии с информацией, которую я получаю из базы данных.Как создать динамический интерфейс в Swift/Xcode?

У меня есть TabelView с пользовательской ячейкой, которая имеет метку, и у меня есть текст из базы данных. Это работает. Теперь в базе данных для каждой ячейки я сохраняю этот текст, и у меня есть столбец для других элементов интерфейса. Например, если этот столбец имеет 1, тогда я должен отображать кнопку под меткой, если в этом столбце хранится 2, тогда мне нужно отобразить DataPicker под меткой. 3 - переключатель, 4 - слайдер, 5 и т. Д.

Это хорошее решение для размещения всех элементов пользовательского интерфейса в прототипе ячейки IN A STACK VIEW, чтобы высота была динамической и всегда отображалась (hide = true/false) собственный элемент пользовательского интерфейса?

Но если у меня есть 10-12 различных элементов пользовательского интерфейса, это может стать грязным и слишком длинным. Итак, какое лучшее решение для этого?

ответ

0

сделать пустой вид, где вы будете размещать элемент в зависимости от 1 или 2 или 3 способа и т.д. поместит конкретную кнопку, сборщик или что-то там UI будет быстрее этим путем

0

Это хорошее решение чтобы поместить все элементы пользовательского интерфейса в ячейку прототипа IN A STACK VIEW, установить высоту в динамическую и всегда отображать (hide = true/false) правильный элемент пользовательского интерфейса?

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

Запомнить UIStackView доступен только iOS9

+0

Спасибо. «Если вы декуперируете ячейки, вам нужно будет написать свой код, чтобы избежать плохой утилизации клеток». Что ты хочешь этим сказать? Напишите хороший код, чтобы избежать плохой переработки клеток? – nethuszar

+0

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

Смежные вопросы