appkit相关内容
我已经尝试过 ObservableObject 文档中的示例.> class 联系方式:ObservableObject {@Published var 名称:String = "me"@Published var 年龄:Int = 7} 当我用代码创建一个 Swift Playground 时: let c = Contact()c.objectWillChange.sink { 打印(“
..
我想定义一个这样的布局: 如何让按钮获取所有可用的宽度,也可以在用户调整窗口大小时. 上部三排等宽,下部一排最大.宽度 struct TEST:查看{让列 = [GridItem(.flexible()),GridItem(.flexible()),GridItem(.flexible())]让数据 = [“1 文本 ...",“2个更长的文本......",“3 文本……",“4 文本
..
我有一个自定义控件.如果它继承自 NSView,当我点击它时它会自动成为第一响应者.如果它继承自 NSControl,则不会.这种行为差异仍然存在,即使我覆盖了 mouseDown(with:) 并且不调用 super. 代码: class MyControl: NSView {覆盖 var canBecomeKeyView: Bool { return true }覆盖 var acce
..
我收到了来自用户的崩溃.这个: 崩溃的线程:0异常类型:EXC_BAD_INSTRUCTION (SIGILL)异常代码:0x0000000000000001, 0x0000000000000000例外说明:EXC_CORPSE_NOTIFY终止信号:非法指令:4终止原因:命名空间信号,代码 0x4终止进程:ex handler [79055]线程 0 崩溃:0 com.apple.AppKit
..
我有一个 NSWindow 可以关闭和重新打开(我调用了 [setReleasedWhenClosed: NO]).如何以编程方式检查它是打开还是关闭? 我已经阅读了文档并在谷歌上搜索过,但看不到一种明智的方法来做到这一点.[isVisible] 已弃用.[occlusionState] 不是我想要的.我已经使用通知解决了这个问题,但我不敢相信 NSWindow 上没有任何属性或方法来执行此
..
有谁知道为什么 NSControl 的 isEnabled 在 setEnabled: 仍然有效时被移除了? 解决方案 在 OS X 10.10(和 iOS 8)中,Apple 框架中的许多 getter/setter 方法对被 @property 取代声明.这既使标头接口更清晰,又使这些 API 导入 Swift 更加......好吧,Swifty. //之前- (BOOL) 已启用;
..
我对 CALayer 存在的目的是什么有点习惯了.为什么不直接将属性放在 UIView 中? 谢谢. 解决方案 CALayer 代表与 UIView 完全不同的“事物".CALayer 只处理绘图本身,并封装执行此操作所需的信息.另一方面,视图拥有一个或多个图层,用于绘制自身.但是,视图还有许多其他功能和属性,这些功能和属性与其在屏幕上的表示无关. 我建议深入研究 Apple
..
如何设置scrollView文档视图固定在左上角?如果 scrollView 足够大/大于其内容,则所有内容都是从下到上绘制的,看起来不正确.我必须覆盖 scrollView 的 isFlipped? 我在互联网上搜索并覆盖 isFlipped 以返回 true 并不是万能的.我不想让我的 documentView 翻转,因为那样我必须在那个类中进行更改以使一切看起来像我想要的. 解决
..
我在使用 NSTextView 的 macOS 10.12 Mojave 上观察到一个奇怪的问题. . 我正在像这样更改 didChangeText() 中的 textStorage 属性: self.textStorage?.beginEditing()ARTokenManager.getToken(text: text, language: language) { (tokens
..
我有一个显示模态的 NSWindow/Controller.它有一个“关闭"按钮连接到这样的操作: - (IBAction)close:(id)sender{[self.window orderOut:sender];[self.window关闭];[[NSApplication sharedApplication] stopModal];} 在我的主窗口中,我显示模态: - (IBActi
..
我对 CALayer 存在的目的是什么有点习惯了.为什么不直接将属性放在 UIView 中? 谢谢. 解决方案 CALayer 代表与 UIView 完全不同的“事物".CALayer 只处理绘图本身,并封装执行此操作所需的信息.另一方面,视图拥有一个或多个图层,用于绘制自身.但是,视图还有许多其他功能和属性,这些功能和属性与其在屏幕上的表示无关. 我建议深入研究 Apple
..
这是怎么回事: 我正在尝试完全以编程方式构建 Mac 状态栏应用程序.一切似乎都工作正常,即菜单显示在 Mac 状态栏中,下拉菜单显示它应该如何.但是当我点击菜单项时,没有任何反应.我什至将目标函数更改为只执行打印到终端的基本任务,什么都不做. 关于代码: 我认为问题出在这附近: menu.addItem(NSMenuItem(title: val, action: #se
..
我想在我的 Mac 应用程序中显示一个 NSPopover 来列出表情符号,就像 Apple 的消息应用程序那样: 到目前为止我能想到的就是我可以使用这个在我的应用程序中显示字符调色板: NSApp.orderFrontCharacterPalette(nil) 但这会将调色板显示为一个单独的窗口,如下所示: 有谁知道我如何在 NSPopover 中嵌入字符调色板并在我的应用中检索
..
对于我的语法高亮实现,我使用 -[ 观察了 NSTextView 的变化.textStorageDidProcessEditing:]. - (void)textStorageDidProcessEditing:(NSNotification *)notification {if (!self.languageGrammar) 返回;NSTextSt
..
如何实现下图中的视图. 在System Preferences >中点击+按钮时出现的视图网络 我有以下问题: 这个视图系统有没有具体的名字(比如popover),因为我在Mac的很多地方都见过. 如何在 IB 中实现它? 这可以在弹出窗口而不是 NSWindow 中完成吗?(或者只能在像工具栏一样的 NSWindow 中完成) 更新:更新标题以获得更好的可见性 解决
..
背景:我的应用程序有一个主窗口,其中包含几个较小的 NSView 对象,每个对象都包含几个不同的控件、标签、图像等.其中之一视图(及其包含的所有内容)被禁用以响应给定的标志.设置标志后,我会自动禁用并灰显嵌入在该 NSView 中的所有控件. 问题:我想知道如何变暗禁用的NSView.我正在寻找的效果类似于在禁用的 NSView 顶部绘制一个 50% 透明的黑框.背景和所有控件仍然可见,但颜
..
我有几个 WebView,可以在我的视图层次结构中换入和换出.其中一些 WebView 包含表单字段,因此我实现了 EditingDelegate 来为我的文档提供 NSUndoManager. 问题是在 WebView 中完成的任何输入都会生成放置在撤消堆栈上的操作.从层次结构中删除视图后,操作仍在撤消堆栈中.此时,如果用户使用 Cmd-Z 来“撤消键入",则会引发异常,因为 -undoE
..
我的 Mac 幻灯片应用工具栏中的按钮有一些问题. 我希望在没有活动幻灯片放映时禁用这些按钮,并在有活动幻灯片放映时启用这些按钮.为了实现这一点,我在开始时将按钮的 isEnabled 属性设置为 false(我已经尝试了 Interface Builder 和我的窗口的 windowDidLoad) 然后在我的幻灯片变量的 didSet 中,我执行以下操作: var 幻灯片:幻灯片?{已
..
我的程序中设置了以下视图层次结构. 窗口+ContentView(窗口子视图)++MyCustomView(ContentView 的子视图)++MyCustomOpaqueView(ContentView 的子视图)+++TextField(MyCustomOpaqueView 的子视图) 当用户点击 TextField 时,它里面的光标开始闪烁.在每次闪烁时,都会在 MyCustomVie
..
我正在将应用程序从 iOS 迁移到 OSX,OSX 中是否有与 UIActivityViewController 等效的东西.对于 Facebook、Twitter、邮件、消息共享之类的东西,我需要做一些类似的事情; NSArray *activityItems = [NSArray arrayWithObjects:shareString, shareImage, shareUrl, nil]
..