Как включить перетаскивание на определенные элементы IKImageBrowserView? - PullRequest
1 голос
/ 18 июля 2011

Я использую IKImageBrowserView для приложения Mac, которое я сейчас разрабатываю и хочу включить перетаскивание внутри IKImageBrowserView, поэтому я использовал - setAllowsDroppingOnItems: , но, к сожалению, это не позволяет мне указатькакие предметы могут быть выбраны в качестве пункта назначения, поэтому первая часть вопроса будет о том, есть ли простой и прямой способ сделать это.

Я искал документацию и нашел способ, который заключается виспользуя метод делегирования перетаскивания - (NSDragOperation) draggingUpdated: (id ) sender

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

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

Логически это должно работать, но это не так.Это дает правильный объект, только если есть несколько элементов (чтобы не отображать вертикальную прокрутку), что заставляет меня поверить, что indexOfItemAtPoint не учитывает представление прокрутки, поэтому мне может потребоваться переопределить его, если так (это вторая частьвопрос) как мне это сделать.

1 Ответ

0 голосов
/ 19 июля 2011

Я получил его с помощью indexAtLocationOfDroppedItem (метод IKImageBrowserView), который, исходя из названия и документации, звучит так, будто обновляется только после падения, но фактически обновляется при наведении.

...