|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|
Динамический интерфейс05.12.2015, 00:09. Показов 1673. Ответов 13
Метки нет (Все метки)
Добрый день.
Подскажите как сделать описанную далее компоновку? Нужно сделать следующее: имеется "таблица" в три столбца и 10 строк -первый столбец содержит/(не содержит) картинку (зависит от момента выполнения программы), должен быть шириной от 0 (когда нет картинки) до размеров картинки. - второй столбец содержит текст занимает всю ширину экрана между первым и третьим столбцами - третий столбец содержит текст занимает ширину в зависимости от текста, т.е. может быть шириной 0 когда не содержит текст.
0
|
|
| 05.12.2015, 00:09 | |
|
Ответы с готовыми решениями:
13
Динамический интерфейс Динамический интерфейс
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 05.12.2015, 03:26 | |
|
столбцы - немного неясно звучит, должны ли "столбцы" быть действительно столбцами?
т.е. если у вас с одной ячейке в 3 "столбце" есть текст, а во второй - нету, а в третьей ячейке этот текст длиннее чем в первой, должны ли все ячейки рисовать столбцы ровняя по самому длинному из них? или в каждой ячейке столбцы могут быть разной длинны? если второй вариант, то все просто, рисуйте ячейку да и все, и autolayout вам в помощь
0
|
|
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|
| 05.12.2015, 09:28 [ТС] | |
|
Вы правы, немного не точно описал.
В первом столбце выравнивание по самому длинному, в третьем такого выравнивания нет, строки имеют разную длину, соответственно они делят пространство со строками второго столбца. А какой элемент использовать для вывода текста и картинок чтобы он имел динамический размер? Или нужно программно менять параметры элемента?
0
|
|
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|
| 05.12.2015, 09:53 [ТС] | |
|
Примерный вид
0
|
|
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|
| 05.12.2015, 21:02 [ТС] | |
|
Если звездочки нет, то ширина столбца равна 0.
Тоже с правыми ячейками: если нет текста то ширина равна 0.А если есть текст, то он заберет размер центрального столбца независимо от его содержимого Добавлено через 11 часов 6 минут Чет я ничего нужного мне в autolayout не нашел.. В андроиде все просто, взял LinearLayout достаточное кол-во, разместил их, задал им связи и соотношения, затем разместил на них кнопки и тоже задал взаимодействия и соотношение и готово. А iOS пока ничего не вижу кроме программного вмешательства в компоновку интерфейса...
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 05.12.2015, 23:00 | |
|
В интерфейс билдере в xib файле настраивайте динамическое поведение интерфейса как вам угодно.
Вмешательство из кода требуется только если пользователь взаимодействует с элементами и вам нужно динамически в зависимости от этого чет дорисовывать или убирать и то не всегда. Обычно хватает все это нарисовать в IB. В iOS сейчас намного удобней строить динамический интерфейс, кстати, чем в Android Потому вы скорее всего не туда смотрите. Да и тут уже была тема про динамический интерфейс, поищите там, может найдете. Autolayout, constraints, interface builder. Ну а чтоб все ячейки выравнивали свой столбец по самому длинному из них всех, то это и в андроиде будете программно решать, но в этом тоже ничего сложного нет Как вариант пройтись по датасорсу, найти самую длинную строку, построить ячейку но не показывать ее, чисто чтоб узнать макс длинну, а потом всем остальным ячейкам сказать, с какой длинной они должны собираться. Делать это один раз перед каждым рилоадом таблицы. Это если я правильно тз понял
0
|
|
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|||
| 05.12.2015, 23:34 [ТС] | |||
|
В iOS мне не хватает инструментов. Уж очень она отстала от андроида... Я добавил три кнопки на вью (Autolayout) и задал ограничения и связи, у меня кнопки расположены в ряд от одного края до другого. Первые две кнопки имеют размер по содержимому, а последняя растягивается, занимая все свободное пространство, но как задать этот режим для средней кнопки я не пойму, так как не вижу взаимосвязи настройки кнопки и ограничений с поведением кнопок. У всех кнопок стоит размер по содержимому.
0
|
|||
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|
| 05.12.2015, 23:41 [ТС] | |
|
...
0
|
|
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|
| 06.12.2015, 00:49 [ТС] | |
|
Еще интересное явление - если удалить текст кнопки (размер кнопки по содержимому) кнопка не становится шириной 0. Хотя на скрине выше видно, что отступов в желтой кнопке нет.
0
|
|
|
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
|
||
| 06.12.2015, 13:07 | ||
0
|
||
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
||
| 06.12.2015, 13:46 [ТС] | ||
|
0
|
||
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|
| 06.12.2015, 16:39 [ТС] | |
|
Нашел где выставить приоритет. Получилось сделать взаимосвязь первого столбца.
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|||
| 08.12.2015, 08:14 | |||
|
кстати один из вариантов - глянуть в сторону UICollectionView Добавлено через 58 секунд
0
|
|||
|
194 / 154 / 23
Регистрация: 16.08.2013
Сообщений: 738
|
|
| 08.12.2015, 21:19 [ТС] | |
|
Я сделал что хотел, но все же остаюсь при своем мнении...
- Андроид удобнее
0
|
|
| 08.12.2015, 21:19 | |
|
Помогаю со студенческими работами здесь
14
Динамический интерфейс в программе Динамический интерфейс, восстановление Activity Iptables, правила, перенаправляющие на интерфейс eth1 все пакеты, приходящие на интерфейс eth0
Создать динамический класс Book, содержащий динамический массив Authors Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|