首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拖放在IKImageBrowserView中不起作用

拖放在IKImageBrowserView中不起作用
EN

Stack Overflow用户
提问于 2013-05-30 20:04:54
回答 1查看 493关注 0票数 0

我用AES算法加密了图像。当我在IKImageBrowserView中使用这些图像时,它可以正确地显示图像,但我无法将图像拖放到粘贴板上。我将图像表示设置为IKImageBrowserView图像对象,如下所示

代码语言:javascript
复制
- (NSString *)  imageRepresentationType
{
    return IKImageBrowserNSDataRepresentationType;
}
- (id)  imageRepresentation
{
   return  [[NSData dataWithContentsOfFile:path]decryptWithString:PASS];
}

但是当我像这样给予的时候,它就起作用了

代码语言:javascript
复制
- (NSString *)  imageRepresentationType
{
    return IKImageBrowserPathRepresentationType;
}

- (id)  imageRepresentation
{
    return path;
}

上面的代码是有效的,因为当我从IKImageBrowserView拖动图像时,它将返回图像的路径。

现在我需要做的是将IKImageBrowserView中的加密图像拖放到粘贴板中。

EN

回答 1

Stack Overflow用户

发布于 2013-06-03 18:14:09

我终于明白了。

对于非文件路径表示的图像,我们需要实现-imageBrowser:writeItemsAtIndexes:toPasteboard:

代码语言:javascript
复制
- (NSUInteger) imageBrowser:(IKImageBrowserView *) aBrowser writeItemsAtIndexes:(NSIndexSet *) itemIndexes toPasteboard: (NSPasteboard *)pasteboard
{
        NSUinteger index;

        //instantiate an array to store paths
        filesArray = [NSMutableArray array];

        //for each index...
for(index = [itemIndexes firstIndex]; index != NSNotFound; index = [itemIndexes indexGreaterThanIndex:index]){

                //...get the path you want to add to the pasteboard
                id myDatasourceItem = [_myDatasourceArray objectAtIndex:index];
                NSString *path = [myDatasourceItem myLargeImageFilePath];

                //add it to your array
                [filesArray addObject:path];
        }

        //declare the pasteboard will contain paths
[pasteboard declareTypes:[NSArray arrayWithObjects:NSFilenamesPboardType,nil] owner:self];

        //set the paths
[pasteboard setPropertyList:filesArray forType:NSFilenamesPboardType];

         //return the number of items added to the pasteboard
         return [filesArray count];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16835648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档