做一个UIView的深层副本及其所有子视图(Make a deep copy of a UIView

2019-07-29 07:27发布

我需要包含几个子视图一个UIView的深层副本。 请帮我找出如何做到这一点? 我做了一些搜索谷歌和SO并没有发现任何我想要做什么。

说明对于那些想知道谁为什么:我有一个无限滚动的UIScrollView其中,当然,内容重复。 每个内容“设定”(例如,说26个UIButtons标记AZ)包含在一个视图内。 这是我需要做的深层副本,这样我就可以在屏幕上滚动视图中显示它的多个实例的视图。

我不能简单地重新创建包含按钮视图的结构,因为按下按钮调用我的UIScrollView子类没有访问类的功能。 我也不会想重新创建它们,因为它似乎是一种浪费要经过逻辑重建和安置在容器视图中的所有子视图时,我可以简单地做了深刻的复印件。

谁能帮我?

Answer 1:

(发布时间:从我的要求评论)

啊哈正确的,我现在看到。 我认为唯一的办法是在运行时创建多个副本,并隐藏起来; 否则,你就必须通过所有子视图迭代,重新创建的所有帧,颜色等...但你说你会那么容易碰上复制按钮目标等问题 - 但有可能是有用的,以帮助完成的东西,在这里:

如何获取UIButton的目标,行动和控制事件?



文章来源: Make a deep copy of a UIView and all its subviews