我正在尝试在卡布奇诺中实现拖放,但是当我将图像放在CPView上时不断收到错误,我从下面的控制台复制了错误消息。
CPInvalidArgumentException: - [CPImage removeFromSuperview] 发送到实例0x0051bd的无法识别的选择器
我正在从包含在CPScrollView中的CPCollectionView中拖动图像并将其放在CPView上。我遵循了剪贴簿教程中的示例。
下面是我的CPView上的代码,此代码会导致控制台输出
- (void)performDragOperation:(CPDraggingInfo)aSender
{
var data = [[aSender draggingPasteboard] dataForType:PhotoDragType];
[self addSubview:[CPKeyedUnarchiver unarchiveObjectWithData:data]];
}
我在AppController.j中定义了我的拖动类型,因为我的CPScrollView是他们的,不知道这是否导致了问题。
谢谢。
拖放粘贴板中的内容不是视图,而是集合视图项的表示对象。(在您的情况下是 CPImage 对象)。
此处的解决方案是创建一个新的 CPImageView 并将其添加到拖放视图中,然后将该图像视图的图像设置为粘贴板数据(假设它始终是图像)。