Программно добавленный порядок элементов пользовательского интерфейса рядом друг с другом - PullRequest
0 голосов
/ 02 октября 2011

Существует UIScrollView, и я хотел бы программно добавить в него подпредставления.Это нормально, но как я могу автоматически заложить подпредставления рядом друг с другом?Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 02 октября 2011

Вы не можете. Иерархия представления в UIKit - как иерархия представления в большинстве структур UI - использует явное расположение.

Ваш комментарий спрашивает о плавающем HTML-подобном; материал блочной модели, который использует HTML / CSS, был разработан для достижения совершенно иной цели (разметка документа), чем то, для чего предназначен UIKit, и поэтому в фреймворке нет реальной аналогии.

UIViews do поддерживает автоматическую перекомпоновку при изменении размера / смены кадра родительского представления (вы можете сказать, следует ли изменять размер подпредставления, как и где его следует «закрепить»), через автоматическое изменение размера маски, но я не думаю, что это то, что вы просите.

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

1 голос
/ 02 октября 2011

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

Если они все одного размера, вы можете сделать это с помощью простой математики и CGRectMake(). Если они будут иметь разные размеры, вы можете использовать CGRectDivide(), чтобы разбить большой прямоугольник на меньшие. CGRectInset() также полезно, если вы хотите добавить отступ между ними.

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