0

当用户悬停按钮时,我想将 WebView 附加到光标上。并在鼠标退出时将其删除。
即使光标在按钮内移动,我也希望 WebView 继续跟随光标。
关于如何执行此操作的任何想法?

这是一个关于它应该如何的例子:
在此处输入图像描述

4

2 回答 2

0

所以你有一个 NSButton ...子类,所以你附加一个视图:

@interface ButtonWithWebViewOnHover : NSButton
@property(strong) WebView *webView;
@end

覆盖 mouseEntered 和 mouseExited 并切换隐藏

......等等......我们似乎在重新发明轮子


使用 NSPopover (直接来自苹果,但不像下一个那样图形灵活:)

或 MAAttachedWindow (http://mattgemmell.com/2007/10/03/maattachedwindow-nswindow-subclass/)

于 2012-11-11T19:48:32.200 回答
-1

您可以将 WebView 子类化,并考虑将其绘制为调用此方法:

- (void)drawRect:(NSRect)dirtyRect;

ao 如果你在这个方法中调用[super drawInRect: dirctyRect],视图会正常绘制,否则什么都不会绘制。所以你可以查看鼠标是否在视图上,决定是否绘制。

要调整它的大小,您可以使用以下方法:

- (void)setBounds:(NSRect)boundsRect;

要检测鼠标事件,您应该在主视图中实现诸如mouseDown(请参阅NSResponder )之类的方法。

于 2012-11-11T16:00:49.953 回答