我正在为我的应用添加分享(针对Mavericks,10.9),我想这样工作:
我使用的是完成这个-mouseDown:,-mouseDragged:和-mouseUp:事件.mouseDown开始选择,mouseDragged提供有关所选区域的反馈,然后mouseUp完成拖动,显示选择器.但每一次,我都把它写到控制台:
2014-06-25 00:13:45.111 App[31401:303] Warning: -[NSSharingServicePicker showRelativeToRect: ofView: preferredEdge:] should not be called on mouseUp
Please configure the sender with -[NSControl sendActionOn:NSLeftMouseDownMask];
Run Code Online (Sandbox Code Playgroud)
我不明白为什么那会是一个问题,除非你通过点击鼠标按钮显示它.我应该忽略这条消息吗?我试着用它显示dispatch_async和dispatch_after尝试,并得到它到事件的调用外面跑,但他们没有工作.我想我可以忽略它,但这是否会让贬值的大门敞开?
小智 4
我知道这已经晚了一年,但是
我也遇到了同样的问题。经过一番研究后,我得到了这个答案。在我实现此代码之前,我的按钮会旋转一段时间,然后返回并出现与您相同的错误。当我现在单击共享按钮时,它不再滞后,并且不会返回任何错误。将其插入到您的应用程序的awakeFromNib方法中:[yourShareButtonName sendActionOn:NSLeftMouseDownMask];。您的代码应如下所示:
- (void)awakeFromNib {
[yourShareButtonName sendActionOn:NSLeftMouseDownMask];
}
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
609 次 |
| 最近记录: |