首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSPopover失去焦点后,addCursorRect在NSButton上失败

NSPopover失去焦点后,addCursorRect在NSButton上失败
EN

Stack Overflow用户
提问于 2020-04-09 02:12:17
回答 1查看 73关注 0票数 1

我有一个包含两个按钮的NSPopover。当我打开弹出窗口时,下面的代码将光标更改为指针,当鼠标悬停在按钮上时,单击按钮时,控制台中会出现“按下的按钮”,并且会出现所需的NSColorPanel。

代码语言:javascript
复制
class Button: NSButton {
    override func resetCursorRects() {
        super.resetCursorRects()
        addCursorRect(bounds, cursor: .pointingHand)
    }
}

@IBAction func buttonTapped(action:Any) {

    print("Button pressed")

    let cp = NSColorPanel.shared
    cp.setTarget(self)
    NSColorPanel.setPickerMode(.none)
    cp.setAction(#selector(colorDidChange))
    cp.isContinuous = false
    cp.level = NSWindow.Level.statusBar
    cp.makeKeyAndOrderFront(self)

}

但是,如果我单击屏幕上的任何其他位置,然后返回到NSPopover,当鼠标悬停在按钮上时,指向手的光标不再出现,并且当onClick事件仍被激发时(如控制台中记录的“按下按钮”所示),NSColorPanel不会打开。

对于为什么会出现这种情况,有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-13 18:03:33

我遇到了这个问题,解决它的方法是将下面的代码添加到popover视图控制器的viewWillAppear函数中。

代码语言:javascript
复制
NSApplication.shared.activate(ignoringOtherApps: true)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61107269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档