我有一个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 :(得分:3)
1)如果您的动态视图比您的previewBackgroundView大,那么您应该调整保持纵横比的dynamicView的大小。缩小比例,使其进入预览BackgroundView。
您可以使用scale属性,如下所示:
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1);
或
2)您可以使用大小视图想要保持动态视图,并使用滚动视图使动态视图中的内容可滚动。
我建议你选择第二个选项。