2012-01-08 10 views

答えて

6

IKImageBrowserViewは、あなたがこれらの機能を使用してツールチップの四角形を追加することができますので、NSViewのです:私の実装では

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html#//apple_ref/doc/uid/20000014-SW47

を、私はサイズを変更しないscrollview内の画像ブラウザを持っているので、I

[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]; 
} 

その後、私はこの機能を実装:

イメージだけが私のデータソースの配列です。このコードを使用して、私のデータが変更され、時にツールチップを更新する必要があります3210
- (NSString*)view:(NSView *)view stringForToolTip:(NSToolTipTag)tag point:(NSPoint)point userData:(void *)data { 
    ImageObject *image = (ImageObject*)data; 
    return [image imageTitle]; 
} 

画像ブラウザのレイアウトが変更された場合(列の追加/削除、またはズームなどの変更)には、すべてのツールヒントを更新する必要があります。

+0

スクロールイメージブラウザに数百のイメージが含まれていると、パフォーマンス上の問題が発生する可能性があります。代わりに 'visibleItemIndexes'を使って目に見えるアイテムのツールチップを追加し、ビューがスクロールするときにツールヒントを更新するだけです。 – JWWalker

関連する問題