Ios 制作uiview的精确副本,除非用于制作uiview的精确副本实例,否则不要使用uiview本身
我在场景情节串连板中有一个视图,在视图层次结构中布局,就像firstResponder和exit对象一样,就像一个对象和这个视图一样,让我们称之为补充视图,通过IBOutlet连接到多个视图 它连接到的视图和补充视图是我的自定义类。将其作为IBOutlet的视图设计为通过setter接收此视图,然后制作副本并添加到self作为子视图和某些属性 因此,supplementaryView有点像是完全设计好的supplementaryView实例,除了复制,它永远不会用于任何事情。另外,这个补充视图是一个自定义类,它重写了initWithFrame和initWithCoder,没有xib,完全由带有NSLayoutConstraints的代码构造 在运行时复制此补充视图的最佳选项是什么 我是否应该实现NSCopying并复制iInspectable和其他自定义属性以及UIView的属性 或者在运行时使用类\ copyPropertyList遍历类的属性更好吗 或者有更好的选择吗?您不能在UIView上实现NSCopying您会遇到一个异常,视图不是要复制的,但是有一个技巧可以实现这一点,您可以使用NSKeyedArchiver归档UIView对象,然后取消归档,实质上是复制视图。比如:Ios 制作uiview的精确副本,除非用于制作uiview的精确副本实例,否则不要使用uiview本身,ios,objective-c,iphone,uiview,Ios,Objective C,Iphone,Uiview,我在场景情节串连板中有一个视图,在视图层次结构中布局,就像firstResponder和exit对象一样,就像一个对象和这个视图一样,让我们称之为补充视图,通过IBOutlet连接到多个视图 它连接到的视图和补充视图是我的自定义类。将其作为IBOutlet的视图设计为通过setter接收此视图,然后制作副本并添加到self作为子视图和某些属性 因此,supplementaryView有点像是完全设计好的supplementaryView实例,除了复制,它永远不会用于任何事情。另外,这个补充视图是
id viewCopy = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:viewToCopy]];
tl;博士请用较少的文字进行简要说明,并设置问题的格式。您能告诉我一点这种存档和取消存档将如何改变UIView吗?@IgorMuzyka它不会改变UIView,但它将存档、序列化、对象化和反序列化,本质上是给您一个视图的副本。