Центрировать несколько UIViews подряд его суперпредставление? - PullRequest
0 голосов
/ 28 октября 2011

Как мне разместить массивы идентичных размеров uiviews в их центре superviews?

Например: у меня есть массив (число x) видов размером 50x50, которые я помещаю рядом друг с другом в строке. Как я могу отцентрировать эту линию 50x50 видов в центре их суперпредставления?

Есть ли более простой способ, чем я думаю, мне придется сделать?

Мой подход заключается в том, чтобы взять количество просмотров внутри массива и умножить его на 50. Это даст мне ширину изображений вместе.

Затем вычтите эту ширину из ширины суперпредставления. Затем поместите подпредставления, основанные на этой математике.

Есть ли более легкий подход для этого?

Ответы [ 2 ]

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

Используйте свойство center UIView

В документации Apple говорится, что: свойство center можно использовать для регулировки положения вида без изменения его размера.

Итак, вы бы сделали что-то вроде этого:

Создать UIView, который будет содержать все 50x50 Views с шириной [array count] x 50; Затем добавьте все 50x50 представлений к этому представлению контейнера. Добавьте этот вид к желаемому виду, а затем установите его центральную точку на его центральную точку суперпредставления.

Примерно так:

[my50x50ContainerView setFrame:CGRectMake(0.0, 0.0, [50x050ViewsArray count] x 50, 50.0)];
[self.view addSubview:my50x50ContainerView];
my50x50ContainerView.center = self.view.center;
1 голос
/ 28 октября 2011

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

  1. Создать базовый UIView для использования в качестве контейнера
  2. Установить контейнер bounds свойство to (0, 0, 50 * x, 50)
  3. Разметка 50x50 подпредставлений внутри контейнера, чтобы они заполняли его
  4. Добавление вида контейнера в качестве подпредставления основного вида
  5. Установите свойство center контейнера в центр суперпредставления
  6. Установите свойство autoresizingMask представления контейнера на UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...