IKImageBrowserView is an NSView, so you can add tooltip rectangles using the following functions:
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html#//apple_ref/doc/uid/20000014-SW47
For my implementation, I have an image browser inside scrollview that does not resize, so I only need to update the tooltips when my data changes using this code, where images are my data array:
[imageBrowser reloadData]; [imageBrowser removeAllToolTips]; for (int i=0; i<[images count]; i++) { NSRect rect = [imageBrowser itemFrameAtIndex:i]; ImageObject *image = [images objectAtIndex:i]; [imageBrowser addToolTipRect:rect owner:self userData:image]; }
Then I implemented this function:
- (NSString*)view:(NSView *)view stringForToolTip:(NSToolTipTag)tag point:(NSPoint)point userData:(void *)data { ImageObject *image = (ImageObject*)data; return [image imageTitle]; }
If your image browser changes its layout (you resize it, add / remove columns or zoom, etc.), you need to update all the tips.
source share