Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
#1

Динамический интерфейс - Программирование iOS/iPhone

05.12.2015, 00:09. Просмотров 644. Ответов 13
Метки нет (Все метки)

Добрый день.

Подскажите как сделать описанную далее компоновку?

Нужно сделать следующее:
имеется "таблица" в три столбца и 10 строк
-первый столбец содержит/(не содержит) картинку (зависит от момента выполнения программы), должен быть шириной от 0 (когда нет картинки) до размеров картинки.
- второй столбец содержит текст занимает всю ширину экрана между первым и третьим столбцами
- третий столбец содержит текст занимает ширину в зависимости от текста, т.е. может быть шириной 0 когда не содержит текст.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2015, 00:09     Динамический интерфейс
Посмотрите здесь:

Динамический интерфейс Delphi
C# Динамический интерфейс
[WPF]Динамический интерфейс C# WPF .NET 3.x
База данных "учебный план специальности". GUI. Графический интерфейс. Пользовательский интерфейс Prolog
Узнать имя компонента, реализующего интерфейс и имя категории, в которую этот интерфейс входит C++ COM
Интерфейс без Storyboard для новичка
Как прикрутить яблочный интерфейс к коду на C++?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
666 / 528 / 45
Регистрация: 05.03.2010
Сообщений: 1,271
05.12.2015, 03:26     Динамический интерфейс #2
столбцы - немного неясно звучит, должны ли "столбцы" быть действительно столбцами?
т.е. если у вас с одной ячейке в 3 "столбце" есть текст, а во второй - нету, а в третьей ячейке этот текст длиннее чем в первой, должны ли все ячейки рисовать столбцы ровняя по самому длинному из них?
или в каждой ячейке столбцы могут быть разной длинны?

если второй вариант, то все просто, рисуйте ячейку да и все, и autolayout вам в помощь
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
05.12.2015, 09:28  [ТС]     Динамический интерфейс #3
Вы правы, немного не точно описал.
В первом столбце выравнивание по самому длинному, в третьем такого выравнивания нет, строки имеют разную длину, соответственно они делят пространство со строками второго столбца.

А какой элемент использовать для вывода текста и картинок чтобы он имел динамический размер?
Или нужно программно менять параметры элемента?
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
05.12.2015, 09:53  [ТС]     Динамический интерфейс #4
Примерный вид
Миниатюры
Динамический интерфейс  
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
05.12.2015, 21:02  [ТС]     Динамический интерфейс #5
Если звездочки нет, то ширина столбца равна 0.
Тоже с правыми ячейками: если нет текста то ширина равна 0.А если есть текст, то он заберет размер центрального столбца независимо от его содержимого

Добавлено через 11 часов 6 минут
Чет я ничего нужного мне в autolayout не нашел..
В андроиде все просто, взял LinearLayout достаточное кол-во, разместил их, задал им связи и соотношения, затем разместил на них кнопки и тоже задал взаимодействия и соотношение и готово.
А iOS пока ничего не вижу кроме программного вмешательства в компоновку интерфейса...
Vorona
Peace 2 all shining faces
666 / 528 / 45
Регистрация: 05.03.2010
Сообщений: 1,271
05.12.2015, 23:00     Динамический интерфейс #6
В интерфейс билдере в xib файле настраивайте динамическое поведение интерфейса как вам угодно.
Вмешательство из кода требуется только если пользователь взаимодействует с элементами и вам нужно динамически в зависимости от этого чет дорисовывать или убирать и то не всегда. Обычно хватает все это нарисовать в IB.

В iOS сейчас намного удобней строить динамический интерфейс, кстати, чем в Android
Потому вы скорее всего не туда смотрите. Да и тут уже была тема про динамический интерфейс, поищите там, может найдете.

Autolayout, constraints, interface builder.

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

Как вариант пройтись по датасорсу, найти самую длинную строку, построить ячейку но не показывать ее, чисто чтоб узнать макс длинну, а потом всем остальным ячейкам сказать, с какой длинной они должны собираться. Делать это один раз перед каждым рилоадом таблицы.
Это если я правильно тз понял
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
05.12.2015, 23:34  [ТС]     Динамический интерфейс #7
Цитата Сообщение от Vorona Посмотреть сообщение
В iOS сейчас намного удобней строить динамический интерфейс, кстати, чем в Android
Пока этого не заметил )
Цитата Сообщение от Vorona Посмотреть сообщение
Ну а чтоб все ячейки выравнивали свой столбец по самому длинному из них всех, то это и в андроиде будете программно решать...
Вот в этом вы заблуждаетесь. Никакого вмешательства из программы не требуется. Интерфейс для андроида уже реализован и работает.
В iOS мне не хватает инструментов. Уж очень она отстала от андроида...

Я добавил три кнопки на вью (Autolayout) и задал ограничения и связи, у меня кнопки расположены в ряд от одного края до другого. Первые две кнопки имеют размер по содержимому, а последняя растягивается, занимая все свободное пространство, но как задать этот режим для средней кнопки я не пойму, так как не вижу взаимосвязи настройки кнопки и ограничений с поведением кнопок. У всех кнопок стоит размер по содержимому.
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
05.12.2015, 23:41  [ТС]     Динамический интерфейс #8
...
Миниатюры
Динамический интерфейс  
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
06.12.2015, 00:49  [ТС]     Динамический интерфейс #9
Еще интересное явление - если удалить текст кнопки (размер кнопки по содержимому) кнопка не становится шириной 0. Хотя на скрине выше видно, что отступов в желтой кнопке нет.
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
06.12.2015, 13:07     Динамический интерфейс #10
Цитата Сообщение от korsaj Посмотреть сообщение
В iOS мне не хватает инструментов. Уж очень она отстала от андроида...
Вы этих инструментов не знаете и не владеете ими, а делаете такие забавные выводы
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
06.12.2015, 13:46  [ТС]     Динамический интерфейс #11
Цитата Сообщение от glvrzzz Посмотреть сообщение
Вы этих инструментов не знаете и не владеете ими, а делаете такие забавные выводы
Ну вот он долгожданный доктор околовсяческих наук. Снизошел до нашего уровня и таки выдал невиданной глубины ответ..
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
06.12.2015, 16:39  [ТС]     Динамический интерфейс #12
Нашел где выставить приоритет. Получилось сделать взаимосвязь первого столбца.
Миниатюры
Динамический интерфейс  
Vorona
Peace 2 all shining faces
666 / 528 / 45
Регистрация: 05.03.2010
Сообщений: 1,271
08.12.2015, 08:14     Динамический интерфейс #13
Цитата Сообщение от korsaj Посмотреть сообщение
Нашел где выставить приоритет. Получилось сделать взаимосвязь первого столбца.
это же не таблица, правда?
кстати один из вариантов - глянуть в сторону UICollectionView

Добавлено через 58 секунд
Цитата Сообщение от korsaj Посмотреть сообщение
Ну вот он долгожданный доктор околовсяческих наук. Снизошел до нашего уровня и таки выдал невиданной глубины ответ..
и да, я полностью согласен с glvrzzz, не стоит судить не разобравшись, плохая привычка и будет возбуждать только конфликты
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2015, 21:19     Динамический интерфейс
Еще ссылки по теме:

Iptables, правила, перенаправляющие на интерфейс eth1 все пакеты, приходящие на интерфейс eth0 Ubuntu Linux
Пользовательский интерфейс для разных ориентаций девайса
Xcode интерфейс приложения mainstoryboard
Динамический интерфейс, восстановление Activity Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
korsaj
148 / 117 / 9
Регистрация: 16.08.2013
Сообщений: 508
08.12.2015, 21:19  [ТС]     Динамический интерфейс #14
Я сделал что хотел, но все же остаюсь при своем мнении...
- Андроид удобнее
Yandex
Объявления
08.12.2015, 21:19     Динамический интерфейс
Ответ Создать тему
Опции темы

Текущее время: 16:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru