草庐IT

swift - 在 macOS 中禁用 WKWebview 的弹跳滚动

尝试在macOS中禁用WKWebview的弹跳滚动,但是macOS中的WKWebview没有“scrollView”letwebView=WKWebView(frame:view.frame)print(webView.scrollView) 最佳答案 可以通过覆盖WKWebView类来禁用滚动:classNoScrollWebView:WKWebView{overridefuncscrollWheel(withtheEvent:NSEvent){nextResponder?.scrollWheel(with:theEvent)re

objective-c - MacOS - 按最近使用的优先顺序获取正在运行的应用程序

使用Swift(或objective-C)我想获取当前在macOS上运行的应用程序列表,按最近使用的顺序这就是cmd-选项卡显示Mac上的应用程序图标。以下为我提供了应用程序,但不是按照我想要的顺序。letapps=NSWorkspace.shared.runningApplications在documentationforthe.runningAppsproperty,它说:Theorderofthearrayisunspecified,butitisstable,meaningthattherelativeorderofparticularappswillnotchangeacro

macos - 在扩展信息按钮编辑模式上显示 ViewController

我正在为Yosemite开发TodayExtension。我想显示一个SettingsViewController而不是进入编辑模式。如果我在“widgetDidBeginEditing”上“presentViewControllerInWidget”,它会出现一些奇怪的故障,并且ViewController一直在隐藏和显示。有没有人实现了在点击信息按钮时显示viewController或知道该故障的解决方法?funcwidgetDidBeginEditing(){self.presentViewControllerInWidget(self.settingsViewControlle

macos - 从 NSToolbar 覆盖 prepareForSegue

我有一个NSToolbar,里面有一个NSToolbarItem。该项目继续显示第二个ViewController,我希望能够在继续之前设置ViewController的表示对象,这意味着我需要在某处覆盖prepareForSegue。我不知道哪个类会收到prepareForSegue调用。它似乎没有调用任何其他ViewController(无论如何这都没有意义)。那么-我应该在哪里覆盖prepareForSegue或者我必须以其他方式执行此操作? 最佳答案 你必须子类化NSWindowController并把代码放在那里,像这样:

macos - 从 OS X 使用 DualShock 4

我一时兴起买了一个索尼DualShock4无线游戏Controller。将Controller与我的mac配对很容易。Controller在OpenEmu中按预期工作。现在我想在自己的游戏中使用Controller。在XCodeplayground中,我尝试了这个:importCocoa;importGameController;print(GCController.controllers())print(GCController.controllers().count)输出是:[]0这意味着DualShockController未注册为GCController。应该吗?在调用Cont

Apple 补丁积极利用 iOS、macOS 零日漏洞

苹果周四对其旗舰iOS和macOS平台推出了紧急更新,以修复两个被广泛利用的安全缺陷。这些漏洞已在最新的iOS16.6.1和macOSVentura13.5.2版本中修复,由多伦多大学Munk学院的公民实验室负责,表明该漏洞被用于商业监控间谍软件产品。多伦多大学蒙克学院的公民实验室积极跟踪PSOA(私营部门攻击者)以及销售黑客和漏洞利用工具和服务的公司不断扩大的市场。根据库比蒂诺安全响应团队的建议,这两个缺陷都可以通过被操纵的图像文件来利用来发起代码执行攻击。来自公告:CVE-2023-41064(ImageIO) —处理恶意制作的图像可能会导致任意代码执行。苹果公司获悉有报告称此问题可能已被

macos - 为什么 ORSSerialPort 接收委托(delegate)在我的 Swift 项目中不起作用

我有一个简单的SerialController类:classSerialController:NSObject,ORSSerialPortDelegate{varport:ORSSerialPortinit(path:String){port=ORSSerialPort(path:path)port.close()}funcopen(){port.baudRate=9600port.delegate=selfport.open()}funcclose(){port.delegate=nilport.close()}funcSendString(data:String){port.sen

macos - 限制 NSTextField 上的输入

我想限制NSTextField上的字符输入,也就是说,不允许出现的字符甚至都不会出现。我发现的关于该主题的大部分内容都是仅在文本输入完成后或使用仍然允许字符出现的NSFormatter验证的解决方案。到目前为止,我想出了这个解决方案,将NSTextField子类化:classRestrictedTextField:NSTextField{staticletVALID_CHARACTERS="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'-.&";overridefunctextDidChange(notif

swift - macOS - 如何让 NSSavePanel 在文件名中添加文件扩展名?

我使用此代码让用户可以选择指定名称和在磁盘上保存纯文本文件的位置。一切似乎都有效,但保存的文件没有任何扩展名。实际上我没有在代码的任何部分指定扩展名,我阅读了NSSavePanel文档而没有注意到解释此选项的部分。这是我使用的代码:lettextToExport=mainTextField.textStorage?.stringiftextToExport!=""{letmySave=NSSavePanel()mySave.begin{(result)->Voidinifresult==NSFileHandlingPanelOKButton{letfilename=mySave.url

【MacOS安装jdk8】

MacOS安装JDK下载JDK8安装验证虽然现在jdk已经到了20版本了,但是“你发任你发,我用java8”本文就介绍在mac系统上安装jdk8下载JDK8百度搜索jdk8得到的结果非常混乱,很难找到官方地址,所以这里直接提供https://www.oracle.com/cn/java/technologies/downloads/#java8-mac打开后如下,没定位到jdk8的往下面翻就可以找到;点击右边的链接,登录就可以下载了国内可能下载很慢,评论区提供下载地址安装下载完成后,将会得到一个后缀为.dmg文件,这是mac系统的安装包文件格式双击即可开始安装再次双击单击继续单击安装全程傻瓜式