4
我挖掘了文档,但没有找到如何做。如何为IKImageBrowserView中的每个项目添加工具提示?IKImageBrowserView:如何显示每个项目的工具提示?
我挖掘了文档,但没有找到如何做。如何为IKImageBrowserView中的每个项目添加工具提示?IKImageBrowserView:如何显示每个项目的工具提示?
的IKImageBrowserView是的NSView,这样你就可以使用这些功能添加提示矩形:
对于我的实现,我有一个不调整滚动型内的图像浏览器,所以我只有当我的数据使用此代码,如果照片是我的数据源阵列改变更新工具提示:
[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];
}
然后,我实现了这个功能:
- (NSString*)view:(NSView *)view stringForToolTip:(NSToolTipTag)tag point:(NSPoint)point userData:(void *)data {
ImageObject *image = (ImageObject*)data;
return [image imageTitle];
}
如果您的图像浏览器更改了其布局(您调整其添加/删除列的大小,或者更改缩放等),则需要更新所有工具提示。
我怀疑如果滚动图像浏览器包含数百个图像可能会有性能问题。另一种方法是使用'visibleItemIndexes'来为可见项添加工具提示,并在视图滚动时刷新工具提示。 – JWWalker 2014-01-16 22:48:37