草庐IT

swift - 如何使自定义 View 及其上方的 NSButton 在 macOS swift 中可点击?

我在NSView中有NSButton。NSView有NSClickGestureRecognizer。现在我可以从具有NSClickGestureRecognizer的NSView获取action。但问题是NSButton无法点击。我该如何解决这个问题?代码:importCocoaclassViewController:NSViewController{@IBActionfuncactionGesture(_sender:NSClickGestureRecognizer){print("GestureClicked!")}@IBActionfuncactionButton(_sende

swift - 如何在 macOS 10.14 上重置 HIDIdleTime

在过去的几天里,我一直在尝试编写一个应用程序来重置IORegistry>IOHIDSystem>HIDIdleTime条目。最终目标是防止读取此值的其他应用程序将用户标记为空闲(这不仅与电源管理或防止sleep有关)。假设沙盒被禁用并且应用程序具有所有必要的权限(例如可访问性访问)。以下是我的尝试(目前未成功):尝试1-移动鼠标光标模拟事件:变体1:letmouseCursorPosition=CGPoint(x:Int.random(in:0...500),y:Int.random(in:0...500))CGWarpMouseCursorPosition(mouseCursorPo

swift - macOS 远程推送通知不显示警报横幅

我正在尝试为我的macOS应用程序启用推送通知。一切似乎都在运作。我能够获得设备token。发送通知没有错误。除了我的Mac上没有显示任何警报。我添加了以下代码以查看我的应用程序是否收到它。funcapplication(_application:NSApplication,didReceiveRemoteNotificationuserInfo:[String:Any]){print(userInfo)}发送通知后,我在控制台中看到以下内容。["aps":{alert="Alert-HelloWorld";sound="ping.aiff";}]所以看起来它可以正常到达设备,只是没有

swift - 在 macOS 中以编程方式刷新 DNS

我知道您可以通过运行killall-HUPmDNSResponder刷新DNS,但是有没有办法在代码中执行此操作,而无需在代码中运行终端命令?如果存在,是否需要权限提升?我使用的是Swift,因此任何示例都将是Swift中的首选,但我会尽力使用您提供的任何内容。 最佳答案 您可以使用system函数调用命令:importFoundationsystem("killall-HUPmDNSResponder")在Swift中重新实现killall会有点复杂;标准库似乎没有提供枚举系统进程的功能。

macos - NSStatusItem 不是键盘可导航的

我已经为我的应用程序创建了一个NSStatusItem,但希望它在使用Control+F8(Control+fn+f8)时可以导航,就像系统项一样。状态项在导航序列中被莫名其妙地跳过了。是否有接受第一响应者的secret握手或为此需要做的事情?这基本上是我为该项目准备的所有设置代码:statusItem=NSStatusBar.systemStatusBar().statusItemWithLength(28)statusItem.menu=menustatusItem.button?.image=NSImage(named:"menuIcon") 最佳答案

macos - 将 managedObjectContext 获取到初始 viewController OS X 的方法

这就是我目前的做法,但我想知道Apple是否建议这样做。我读过一些关于这个的辩论。letappDelegate:AppDelegate=NSApplication.sharedApplication().delegateasAppDelegateifletmoc=appDelegate.managedObjectContext{//dostuffhere}所以这只是将它从AppDelegate获取到第一个viewController。从那里我猜测使用segues是传递managedObjectContext的方式?使用上面的代码非常烦人,因为我将其输入到viewController中需

macos - 编辑时更改 NSTextField 边框和 BG 颜色

我有一个NSTextField,它在显示时不使用边框和窗口背景颜色,但我希望它在编辑时更改为具有默认边框和白色BG颜色。我知道我可以更改这些属性:nameTextField.bezeled=truenameTextField.backgroundColor=NSColor.textBackgroundColor()我不知道的是如何在开始编辑文本字段和结束编辑时收到通知。似乎没有为此采取任何行动。有没有其他方法可以实现这种行为?编辑:实际上,当将操作设置为“编辑结束时发送”时,可以通过文本字段的更改操作检测到编辑结束,这样就解决了,但我仍然如何检测开始编辑?

macos - 是否可以在非视网膜显示 Mac 上模拟视网膜显示 OS X?

我正在使用iMac进行OSX应用程序开发,但我的iMac不是视网膜显示器。这可以让我在视网膜显示Mac上模拟结果吗?谢谢。 最佳答案 我用了QuartzDebug在显示中获取HiDPI条目。这是前小牛队,所以我不确定这是否仍然是推荐的方法。Theanswersherementionacoupledifferentways.您可能还需要holdOptionwhileclickingon"Scaled"inDisplays. 关于macos-是否可以在非视网膜显示Mac上模拟视网膜显示OSX

macos - 示例 TableView 不打印数组 Swift OSX

我的应用程序中有下一个代码,但只打印下一个图像,我不知道为什么。有人可以帮助我解决这个错误。我认为错误在字典中。importCocoaclassViewController:NSViewController{@IBOutletweakvarviewTable:NSTableView!funcgetDataArray()->NSArray{vardataArray:[NSDictionary]=[["FirstName":"Debasis","LastName":"Das"],["FirstName":"Nishant","LastName":"Singh"],["FirstName":

macos - 在 NSTokenField 中放置一个 token

我正在实现一个应用程序,其中可以将NSTableView中的行拖放到NSTokenField中,但我正在努力实现交互的放置端。我已将NSTokenField子类化(如下面的调试代码所示)。但我只看到对draggingEntered:和updateDraggingItemsForDrag:方法的调用。即使我返回了一个有效的NSDragOperation(Copy),NSDraggingDestination中的其他方法都没有被调用。在token字段上移动时,光标会短暂闪烁到复制图标,但随后会返回到正常光标。出于调试目的,我尝试实现与NSDraggingDestination关联的所有方法