Что-нибудь вроде менеджера компоновки в Java для iOS? - PullRequest
1 голос
/ 25 сентября 2010

Ребята, я новичок для iOS. Мне нужно создать динамический макет, так как графический интерфейс будет генерироваться в соответствии с данными. Я проверил ссылки UIView, кажется, стандартный способ добавить подпредставление выглядит так:

CGRect rect = CGRectMake(0, 0, width, height);
UILabel *label = [[UILabel alloc] initWithFrame: rect];
[someView addSubView: label];

Но, может быть, я не могу быть уверен, что ширина и высота. В Java контейнер использует менеджер компоновки, чтобы автоматически обрабатывать ширину и высоту на основе некоторых правил. В iOS можно ли использовать что-то вроде менеджера компоновки в Java?

Спасибо. Любая подсказка будет в порядке.

Ответы [ 2 ]

1 голос
/ 25 сентября 2010

Вы можете сделать это в iOS, хотя это не один к одному с макетами Java. Чтобы понять, что это возможно, используйте инспектор размера в Интерфейсном Разработчике. Все, что там делается, например, позволяет элементу расти горизонтально или оставаться на том же расстоянии от вершины, может быть сделано программно. Если требуется дополнительная настройка, вы можете переопределить перехватчики событий в вашем представлении или контроллере, такие как метод -layoutSubviews UIView.

0 голосов
/ 17 ноября 2015

iOS 9 предоставляет UIStackView класс, который по сути является менеджером макета:

Класс UIStackView предоставляет оптимизированный интерфейс для разметки коллекция представлений в столбце или строке. Представления стека позволяют вам использовать возможности автоматического макета, создавая пользовательские интерфейсы, которые могут динамически адаптироваться к ориентации устройства, размеру экрана и любым изменения в доступном пространстве. Представление стека управляет макетом все представления в его свойстве упорядоченного имени. Эти взгляды расположены вдоль оси стека, в зависимости от их порядка в упорядоченный массив subviews. Точное расположение варьируется в зависимости от стека ось вида, распределение, выравнивание, интервалы и другие свойства.

UIStackView

Обратите внимание, что это не применимо, если вы поддерживаете iOS 8, которая все еще довольно актуальна на данный момент.

iOS version statistics

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