*完全复制 UIView*

Posted

技术标签:

【中文标题】*完全复制 UIView*【英文标题】:Duplicate a UIView *exactly* 【发布时间】:2011-06-13 22:26:28 【问题描述】:

所以我想复制一个 UIView - 我所说的复制是指复制所有内容,包括它的边界、框架、大小、坐标、它的父视图是什么等。 这个 UIView 里面有一个图像 - 我也需要保留那个图像。

谁能告诉我一个简单的方法来做到这一点?我看了这个 - UIView duplicate 但这似乎不适用于 UIImage,而且给我一个错误说“无法识别的选择器发送到...”。

基本上,我是从 UIView 网格中挑选一个 UIView,当我挑选出 UIView(包含图像)时,我需要创建一个 UIView 的副本来替换它。如果您对如何执行此操作有任何其他建议,我们也非常欢迎。

【问题讨论】:

这听起来很像您的视图层和模型层不是分层的。不应从 UIView 网格中“拾取” UIView。如果选择了一个项目,控制器层应该负责设置新视图,然后将其连接到封装该状态的任何模型层位。您的要求很难做到,因为它不被认为是一种架构上合理的方法。 你有没有发现如何做到这一点?我想为游戏动画做这个。我不想手动(在代码中)复制所有属性和子视图等。 【参考方案1】:

您最初是如何创建要复制的视图的?你能再做一次吗?

关于视图的某些东西将需要在某些时候更改——边界、内容等。否则,您将在同一位置拥有两个相同的视图,这可能没有帮助.

决定视图外观的所有信息都应该存储在数据模型中,而不是视图中,因此创建另一个显示相同信息的视图应该没什么大不了的。

【讨论】:

以上是关于*完全复制 UIView*的主要内容,如果未能解决你的问题,请参考以下文章

UIView完全置顶的方法

我可以创建一个完全透明的 UIView 来接收触摸吗?

将 UIView 添加到 TableViewfooter 不完全可见

如何使我的图像完全适合 UIView

在自定义视图/uiview 子类上实现 iphone 的复制/粘贴控件

以完全保真度渲染 UIView 以进行保存