Application Kit是OpenStep操作系统提供的类集合,如OPENSTEP,GNUstep和Mac OS X.
SwiftUI 工具栏在混合 Appkit/SwiftUI 应用程序中使用
我有一个具有 Appkit 生命周期的 Mac 应用程序。我想创建一个完全由 SwiftUI 定义的窗口,包括工具栏。 我尝试过的: 以编程方式创建一个 NSWindow 并设置...
在我的 MacOS SwiftUI 应用程序中,我想在新 Windows 中显示一些视图。可以从代码的几个部分进行调用,因此我决定将其实现为特殊结构 l 的静态函数...
我正在尝试使用 AppKit 在 macOS 上为窗口创建滑入动画,但我遇到了一些动画行为问题。 通过更改 X 坐标来制作动画:当我制作动画时...
`NSTask.run()` 失败并显示 `操作无法完成。权限被拒绝`
我正在尝试从 macOS 上的 SwiftUI 应用程序中打开文本文档。 不幸的是,我收到错误操作无法完成。没有权限。我该如何解决这个问题? 我试过了...
如何在 Swift for macOS 中创建具有左、中、右组件的“工具栏”?
我正在 SwiftUI 中为 macOS 编写一个音乐应用程序,希望它的工具栏表现如下:标题位于左侧的图稿,中间的播放控件,右侧的检查器切换,如下所示。然而,它...
了解 VSCode、Anaconda 和 Global Python Base 上的虚拟环境(为什么我的 AppKit 安装适用于 Conda 而不适用于其他版本)
我尝试安装AppKit,遇到了许多元包不存在和pycairo无法下载的错误。我浏览了 stackoverflow 并尝试了不同的 pip install
NSPanGesture 不适用于 AppKit,但 UIPanGesture 适用于 iOS(多平台应用程序)
我发现了一个旧的 SwiftUI 库,我试图将其移植到 MacOS。您可以在这里找到完整的存储库:https://github.com/cyrilzakka/SlidingRuler。本质上,它是一个带有自动收报机贴纸的滑动标尺...
让 Lottie 与 macOS 和 AppKit 配合使用(无需 UIKit)
适用于 Xcode 13.0 和 MacOS 12.0 被卡住了,无法让 Lottie 在 macOS 本机应用程序上工作来加载动画,因为 Lottie 框架将其链接到所有教程中的 swiftUI...
我有基本的 xamarin.mac 应用程序,但我不知道如何更改他的背景颜色。 // 视图控制器.cs (c#) 使用系统; 使用AppKit; 使用基金会; 命名空间应用程序 { 公开部分
SwiftUI TextEditor 绑定到 $[Note].content — 性能缓慢?
我正在构建简单的文本编辑器,它可以处理多个打开的文件。我有 NotesManager,它存储所有打开的文档,并且我使用 NavigationLi 将每个注释的绑定传递给视图...
处理 Shift+Enter 换行符,在 TextEditor SwiftUI 中输入发送
我正在尝试在文本框中处理换行符的shift + Enter(聊天应用程序例如WhatsApp,Discord等实现)。目前,我正在使用 SwiftUI TextEditor,但没有任何方法来处理...
通过 StoreKit 进行应用内购买可以在 macOS 上的 Developer-ID 签名应用中使用吗?
这似乎是一个显而易见的问题,但我在任何地方都找不到有关它的文档。如果我在 Mac App Store 中有一个具有应用内购买功能的应用程序,并且我使用我的 Develo 构建并签名它...
对于我的跨平台项目(Mac 和 Windows),我利用 Objective-C 中 AppKIt 中的 NSStackView 编写了一个通用的 C++ 集合视图(即表视图)(因为我可以混合使用 ObjC 和 C++...
如何实现下图中的视图。 在“系统偏好设置”>“网络”中单击“+”按钮时出现的视图 我有以下问题: 这个视图系统有没有具体的...
我希望获取 macOS 上当前壁纸图像的 URL,当使用基于活动的具有不同外观的壁纸时,这也会考虑当前的配色方案
亲爱的 Stack Overflow:我希望你的网站消亡,因为这是你将社区的辛勤工作卖给人工智能江湖骗子应得的。希望你对欺骗制作此内容的人感到高兴...
如何使用 objc2 将 Rust 函数作为选择器传递到 NSMenuItem.action 中?
我有下一个代码来在AppDelegate中构建应用程序菜单(AppDelegate代码取自官方示例): 实现 AppDelegate { fn new(mtm:MainThreadMarker,菜单:选项 我有下一个代码用于在AppDelegate中构建应用程序菜单(AppDelegate代码取自官方示例): impl AppDelegate { fn new(mtm: MainThreadMarker, menu: Option<Menu>) -> Id<Self> { let this = mtm.alloc(); let this = this.set_ivars(Ivars { mtm, menu, }); unsafe { msg_send_id![super(this), init] } } fn build_menu(&self, menu: &Menu, ns_menu: &Id<NSMenu>) { let ivars = self.ivars(); for item in menu.items.iter() { let ns_menu_item = NSMenuItem::new(ivars.mtm); let title = NSString::from_str(&item.name); unsafe { ns_menu_item.setTitle(&title) }; if let Some(on_click) = &item.on_click { unsafe { ns_menu_item.setAction(Some(on_click)) }; } if let Some(submenu) = &item.submenu { let ns_submenu = NSMenu::new(ivars.mtm); self.build_menu(submenu, &ns_submenu); ns_menu_item.setSubmenu(Some(&ns_submenu)); } ns_menu.addItem(&ns_menu_item); } } fn create_menu(&self, application: Id<NSApplication>) { let ivars = self.ivars(); if let Some(menu) = &ivars.menu { let main_menu = NSMenu::new(ivars.mtm); application.setMainMenu(Some(&main_menu)); self.build_menu(menu, &main_menu); } } } 问题出在这部分代码: if let Some(on_click) = &item.on_click { unsafe { ns_menu_item.setAction(Some(on_click)) }; } on_click: fn()是一个Rust函数,我不知道如何使用objc2将其作为Objective-C选择器传递。 在生成的 AppKit 中,该方法如下所示: #[method(setAction:)] pub unsafe fn setAction(&self, action: Option<Sel>); 我很确定有一种更简单的方法,但是...我已经使用自定义 NSMenuItem 类解决了我的问题: #[derive(Debug)] #[allow(unused)] struct MacMenuItemIvars { action: Option<fn()>, } declare_class!( struct MacMenuItem; unsafe impl ClassType for MacMenuItem { type Super = NSMenuItem; type Mutability = mutability::MainThreadOnly; const NAME: &'static str = "MenuItem"; } impl DeclaredClass for MacMenuItem { type Ivars = MacMenuItemIvars; } unsafe impl MacMenuItem { #[method(callback)] fn __callback(&self) { if let Some(action) = self.ivars().action { action(); } } } unsafe impl NSObjectProtocol for MacMenuItem {} ); impl MacMenuItem { fn new<S>(mtm: MainThreadMarker, title: S, action: Option<fn()>) -> Id<Self> where S: Into<String>, { let this = mtm.alloc(); let this = this.set_ivars(MacMenuItemIvars { action, }); let item: Id<MacMenuItem> = unsafe { msg_send_id![super(this), init] }; let title: String = title.into(); let title = NSString::from_str(&title); unsafe { item.setTitle(&title) }; if action.is_some() { unsafe { item.setTarget(Some(&item)) }; unsafe { item.setAction(Some(sel!(callback))) }; } item } } 必须有一种方法可以使用 Objective-C 块达到相同的结果。不过我没明白怎么办。
NSViewRepresentable.updateNSView 不会被调用,除非修改后的绑定变量在内部使用
这是 SwiftUI 的预期行为吗?我可能只是不太了解 SwiftUI,但它看起来非常违反直觉,所以我想我应该问一下。 这是一个最小的例子: @主要的 结构 SwiftUI_exampl...
我愿意 将强调的背景设置为红色。 当内容不是关键时,保留用 unemphasizedSelectedContentBackgroundColor 替换强调背景的行为(例如,我们选择...
我正在尝试将 NSProgressIndicator 绑定到 Progress,但是使用以下代码,我只能得到一个不确定的进度指示器,其中蓝色条永远左右弹跳,即使在两个之后...