5

我想创建 a 的副本,但UIView我不想使用NSKeyedArchiver,因为我经常创建许多视图的副本,并且使用NSKeyedArchiver速度很慢。

我听说过copyor initWithZone:,但谷歌搜索它发现它并不适合UIView。我不想要指向原始视图的副本,因为对其所做的任何更改也会对复制的UIView.

4

2 回答 2

0

您可以使用以下方法复制视图:

TheView *copyOfView =  (TheView *) [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:origionalTheView]];
于 2014-12-29T17:02:36.027 回答
-4

创建一个 UIView 类别,它可以帮助复制视图。像这样的东西:

- (id) copyView {
     UIView *a = [[UIView alloc]init];
     a.frame = self.frame;
     //set all other properties of the UIView
     return a; //return [a autorelease] if not using ARC
}
于 2013-05-15T08:18:41.793 回答