在另一个视图中显示视图的预览

时间:2013-10-08 12:55:25

标签: iphone ios objective-c uiview ios7

我有一个UIView,让我说previewBackgroundView(60, 154, 200, 200)。它是self.view的子视图。

然后我有一个动态视图,比如dynamicView(0, 0, 260, 100)。它可能包含任意数量的子组件,例如UIButtonUILabel等。

注意dynamicView可以是任意大小。我在方法中传递dynamicView作为参数。

当我将dynamicView作为子视图添加到previewBackgroundView时,它会超出previewBackgroundView的范围。因此,我想调整dynamicView及其子项的大小,使其位置为previewBackgroundView的中心,dynamicView位于previewBackgroundView的范围内。简单地说,我必须在dynamicView中显示previewBackgroundView预览 - 无论dynamicView有多大。

我的第一次尝试是设置clipsToBounds,它不适用于Xcode5,iOS7。我对备选方案的想法表示欢迎。

1 个答案:

答案 0 :(得分:3)

1)如果您的动态视图比您的previewBackgroundView大,那么您应该调整保持纵横比的dynamicView的大小。缩小比例,使其进入预览BackgroundView。

您可以使用scale属性,如下所示:

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

2)您可以使用大小视图想要保持动态视图,并使用滚动视图使动态视图中的内容可滚动。

我建议你选择第二个选项。

相关问题