2011-05-16 60 views
0

我在数组中有几个对象。这些对象来自UIImageView子类。复制UIImageView子类

这些对象的类有几个@synthesize d属性。

在某些时候,我必须创建一个对象在一个不同的坐标上的数组给定位置的副本。然后我这样做:

id objectToDuplicate = [myArray objectAtIndex:x]; 
id newObject = [objectToDuplicate copy]; 
CGPoint newCenter = [objectToDuplicate center]; 
newCenter.x = newCenter.x + 10; 
newCenter.y = newCenter.y + 10; 
[newObject setCenter:newCenter]; 
[self.view addSubview:newObject]; 
[newObject release]; 

当这段代码运行时,没有任何反应。我的意思是,没有对象被用10象素偏移创建和我看到在控制台此消息:

** ... copyWithZone:]:无法识别的选择发送到实例... **

对象具有多个元素,如文本框,标签和具有阴影,发光等的图像,并且新对象必须具有相同的文本颜色,阴影,发光,大小,图像等值,作为原件。

我以为UIImageViewNSCopying协议。如果这是问题,我该如何实现?

请不要将我发送给文档,我已经阅读了他们,这就是我在这里问的原因。请给我实际的例子。

谢谢。

回答

1

你从哪里读到UIImageView implements NSCopying?它不是,你必须为你的子类自己做这件事。

+2

我不能拒绝:[UIImageView类参考](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImageView_Class/Reference/Reference.html)。 – 2011-05-16 00:25:37