iphone - 在另一个 View 中显示一个 View 的预览

标签 iphone ios objective-c uiview ios7

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

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

注意: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/

相关文章:

iphone - 从数组填充 UITableView

ios - ios 上带有 Flexbox 的粘性页脚

objective-c - 识别用户手势的路径

ios - GPPSignIn 生日属性缺失

iphone - 如何在xcode中拖放文件?

iphone - 崩溃问题 未知情况

ios - 检查是否按下了标注 View (mapBox iOS SDK)

ios - 访问代码流

javascript - 离线绘制amcharts的问题

iphone - 如何释放返回的对象?