0

我正在尝试在卡布奇诺中实现拖放,但是当我在 CPView 上放置图像时不断出现错误,我从下面的控制台复制了错误消息。

CPInvalidArgumentException: - [CPImage removeFromSuperview] 无法识别的选择器发送到实例 0x0051bd

我正在从包含在 CPScrollView 中的 CPCollectionView 中拖动图像并将其放到 CPView 上。我按照ScrapBook教程中的示例进行操作。

下面是我的 CPView 上用于删除的代码,此代码会导致控制台输出

- (void)performDragOperation:(CPDraggingInfo)aSender
{
    var data = [[aSender draggingPasteboard] dataForType:PhotoDragType];
    [self addSubview:[CPKeyedUnarchiver unarchiveObjectWithData:data]];
}

我在 AppController.j 中定义了我的拖动类型,因为我的 CPScrollView 定义了它们,不知道这是否会导致问题。

谢谢。

4

1 回答 1

1

拖放粘贴板中的内容不是视图,而是集合视图项的代表对象。(在您的情况下为 CPImage 对象)。

这里的解决方案是创建一个新的 CPImageView 并将其添加到下拉视图中,然后将该图像视图的图像设置为粘贴板数据(假设它始终是图像)。

于 2012-11-14T19:23:09.050 回答