我有一个 UIView
,让我说 previewBackgroundView
帧 (60, 154, 200, 200)
。它是 self.view
的 subview 。
然后我有一个动态 View ,比如 dynamicView
帧 (0, 0, 260, 100)
。它可能包含任意数量的子组件,如 UIButton
、UILabel
等。
注意:dynamicView
可以是任意大小。我将 dynamicView
作为方法中的参数传递。
当我将 dynamicView
作为 subview 添加到 previewBackgroundView
时,它超出了 previewBackgroundView
的范围。因此,我想调整 dynamicView
及其子级的大小,使其位置位于 previewBackgroundView
的中心并且 dynamicView
位于内部previewBackgroundView
的边界。简单地说,我必须像在 previewBackgroundView
中预览一样显示 dynamicView
- 无论 dynamicView
有多大。
我的第一次尝试是设置 clipsToBounds
,它在 Xcode5、iOS7 中不起作用。我欢迎您对替代选项的想法。
最佳答案
1) 如果您的动态 View 比您的 previewBackgroundView 大,您应该调整 dynamicView 的大小以保持纵横比。以在预览 BackgroundView 中出现的方式缩小。
您可以像下面一样使用 scale 属性:
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1);
或者
2) 您可以将动态 View 保持为想要的大小,并使用 ScrollView 使动态 View 中的内容可滚动。
我建议你选择第二个选项。
关于iphone - 在另一个 View 中显示一个 View 的预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19248317/