gpt4 book ai didi

objective-c - 如何启用 IKImageBrowserView 的特定项目上的拖动?

转载 作者:行者123 更新时间:2023-12-03 17:25:23 26 4
gpt4 key购买 nike

我正在将 IKImageBrowserView 用于我当前正在开发的 mac 应用程序,并希望在 IKImageBrowserView 内启用拖动功能,因此我使用了 – setAllowsDroppingOnItems:但不幸的是,这不允许我指定哪些项目有资格作为放置目的地,因此问题的第一部分是是否有一种简单直接的方法来做到这一点。

我搜索了文档并想出了一种方法,其中包括使用拖动委托(delegate)方法 - (NSDragOperation)draggingUpdated:(id < NSDraggingInfo >)sender

NSUInteger index = [browserView indexOfItemAtPoint:sender.draggingLocation];
if(index != NSNotFound)
{
WCItemObject *browserCell = (WCItemObject *)[self.items objectAtIndex:index];

NSLog(@"%@", browserCell.path);
}

从逻辑上讲,这应该有效,但事实并非如此。如果项目很少(不显示垂直滚动条),它只会给出正确的对象,这使我相信 indexOfItemAtPoint 不考虑 ScrollView ,因此如果是这样,我可能需要覆盖它(这是第二部分)问题)我该怎么做。

最佳答案

我通过使用indexAtLocationOfDroppedItem(IKImageBrowserView的一种方法)来使其工作,从名称和文档来看,它听起来好像只在放置发生后更新,但实际上它在悬停时更新。

关于objective-c - 如何启用 IKImageBrowserView 的特定项目上的拖动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6737789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com