2013-02-22 7 views
1

У меня есть NSTableView с NSImageCell. Я хотел бы добавить всплывающую подсказку, что, когда я наводил изображение с помощью мыши, я получаю подсказку с контуром изображения. Каков наилучший способ сделать это?различные подсказки для каждого изображения в NSTableView

проблемы у меня есть следующие:

  • retrive путь к наведен изображения
  • отображения его в подсказке

пожалуйста держите ваши ответы легко, я новичок.

--- EDIT ---

Дополнительная информация: myarray.arrangedobjects является то, что заполняет таблицу. это массив NSMutableDictionaries. словарь имеет следующие ключи:

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

ответ

5

Вам нужно будет предоставить делегат для NSTableView и реализовать этот метод делегата:

– tableView:toolTipForCell:rect:tableColumn:row:mouseLocation: 

Документы для протокола NSTableViewDelegatehere. Вам необходимо подключить делегат к выходу делегата на NSTableView с использованием IB. Ваш метод не будет вызываться, если это не было сделано. Кроме того, стоит отметить, что этот метод делегата вызывается по требованию, а не вверх, поэтому он не будет вызван, пока вы не припаркуете свою мышь, зависающую над ячейкой. Этот подход должен работать для обеих таблиц с источником данных и таблицами, использующими привязки.

Я положил trivial example на GitHub.

+0

привет! :) Я использую bindings .. с arraycontroller .. будет ли это работать в любом случае? – sharkyenergy

+0

Предполагая, что вы можете выяснить, как создать подсказку инструмента на основе параметров этого метода, да, это сработает. – ipmcc

+0

спасибо! я реализовал протокол NSTableViewDelegate, но метод, о котором вы упоминаете, никогда не вызывается ... Я установил точку останова в нем, но независимо от того, что я делаю, он не сломается. Что мне не хватает? – sharkyenergy

Смежные вопросы