我有一个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中不起作用。欢迎您提出其他选择。
最佳答案
1)如果您的动态视图大于PreviewBackgroundView,则应调整dynamicView的大小,并保持宽高比。缩小比例,使其位于预览BackgroundView中。
您可以使用scale属性,如下所示:
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1);
要么
2)您可以保持动态视图具有所需的大小视图,并使用滚动视图使动态视图中的内容可滚动。
我建议您选择第二个选项。