gpt4 book ai didi

xcode - Swift - 如何让 NSSharingServicePicker 在特定按钮中弹出?

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:24 27 4
gpt4 key购买 nike

我正在学习 Swift 并为 OS X 创建我的第一个项目。当用户按下按钮“shareButton”时,我希望 NSSharingServicePicker 弹出窗口显示在该按钮上。

我用这段代码创建 NSSharingServicePicker 对象:

var text = "Hello, world!"
var share = NSSharingServicePicker(items: [text])

现在,我必须如何自定义此代码以显示弹出窗口?

share.showRelativeToRect(rect: NSRect, ofView: NSView, preferredEdge: NSRectEdge)

我试过了,但它显示的弹出窗口位置错误,控制台显示错误。

let rect = shareButton.frame
let edge : NSRectEdge = NSRectEdge.MaxY
let view = shareButton

share.showRelativeToRect(rect, ofView: view, preferredEdge: edge)

“NSSharingServicePicker showRelativeToRect: ofView: preferredEdge:] 不应在 mouseUp 上调用请使用 -[NSControl sendActionOn:NSLeftMouseDownMask]; 配置发件人;“

最佳答案

首先,要摆脱 NSLeftMouseDownMask 警告,请在应用启动时更改按钮的行为。例如,将这段代码放在 viewDidLoad() 中。

youShareButton.sendAction(on: NSLeftMouseDownMask)

这就是我在按钮上显示选择器 View 所做的

let shareItems = [aURL]
let sharingPicker:NSSharingServicePicker = NSSharingServicePicker.init(items: shareItems)

let sharingPicker:NSSharingServicePicker = NSSharingServicePicker.init(items: shareItems)
sharingPicker.show(relativeTo: yourShareButton.bounds, of: yourShareButton, preferredEdge: .minY)

关于xcode - Swift - 如何让 NSSharingServicePicker 在特定按钮中弹出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819866/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com