我想多次使用一个 UIView 层次结构(nib 对象是一个模板)。不幸的是,UIView 不符合
[cell.contentView addSubview: [[templEditCellView copy] autorelease]];
不起作用。
我并不感到惊讶,因为我想要 View 层次结构的深拷贝。
目前,该 View 是从其加载的 nib 中的几个顶级对象之一。有没有办法从 Nib 重新加载单个指定的顶级对象?我应该将 View 拆分为一个可以按需重新加载的 NIB 吗?还是有另一种方法来制作 View 的深拷贝?
谢谢!
最佳答案
制作 View 深拷贝的最简单方法是对其进行归档和取消归档。
id copyOfAView =
[NSUnarchiver unarchiveObjectWithData:
[NSArchiver archivedDataWithRootObject:aView]];
将 View 放在它自己的 Nib 中也可以。您可以创建一个 NSNib
对象并根据需要多次重新加载它。
关于objective-c - 如何获取从 Nib 加载的 UIView 的多个副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2789475/