2013-10-08 2 views
0

У меня есть UIView, позвольте мне сказать previewBackgroundView кадра (60, 154, 200, 200). Это подзаголовок self.view.Показать превью на просмотр с другого взгляда

Затем у меня есть динамический вид, скажем dynamicView кадра (0, 0, 260, 100). Он может содержать любое количество подкомпонентов в нем, как UIButton, UILabel и т.д.

Примечание: dynamicView может быть любого размера. Я передаю dynamicView в качестве аргумента в методе.

Когда я добавляю dynamicView как подпункт к previewBackgroundView, он выходит за пределы previewBackgroundView. Итак, я хотел бы отрегулировать размер dynamicView и его детей так, чтобы его положение находилось в центре от previewBackgroundView и dynamicView находится внутри границ previewBackgroundView. Просто сказать, я должен показать dynamicView как предварительный просмотр в previewBackgroundView - независимо от того, насколько большой dynamicView есть.

Моя первая попытка - установить clipsToBounds, ее не работает в Xcode5, iOS7. Я приветствую ваши идеи по альтернативным вариантам.

+0

Сделайте dynamicView в 'UIScrollview'. –

+0

Используйте автозапуск или пружину и распорки, чтобы сделать представление и его подвид гибким, а затем просто измените размер представления вида, он будет ограничивать представление в соответствии с указанными ограничениями макета. – Sandeep

+0

'UIScrollView'? Я не хочу увеличивать/уменьшать «динамический просмотр». – iOS

ответ

3

1) Если ваш динамический вид больше, чем ваш previewBackgroundView, вы должны изменить размер динамического просмотра, поддерживая соотношение сторон. Уменьшите масштаб таким образом, чтобы он попал в предварительный просмотр BackgroundView.

Вы можете использовать свойство масштаба для таких же, как показано ниже:

self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1); 

Или

2) Вы можете сохранить динамический вид с точкой зрения размера хочет и сделать содержание в динамическом представлении прокрутки используя scrollview.

Предлагаю вам выбрать второй вариант.

+0

Человек. Вы разрешили мою двухдневную головную боль в одной строке кода. – iOS

Смежные вопросы