appkit相关内容
我有一个带有 NavigationView 的 macOS 应用程序,并且希望在窗口的工具栏中拥有默认的 ToggleSidebar 项. 目前我在NSToolbarDelegate的toolbarWillAddItem(_)中将ToolbarItem的目标设置为AppDelegate. 我实现的 AppDelegate 内部 @objc func toggleSidebar(_ s
..
所以我习惯了 iOS 开发,所以我对 NSFetchedResultsController 很满意.但是,这在 Mac OS X 环境中不存在.我知道我可以使用 NSArrayController 作为替代品.我可能在使用这个类时非常错误,但直到现在它仍然有效.我初始化 NSArrayController 如下: NSArrayController* newConversationsContro
..
我对使用 NSNumberFormatter 完全不知所措.这应该很简单,但我无法让它工作. 我想设置一个 NSTextField 以允许输入带小数点或不带小数点的十进制数字.这是我认为可行的方法: NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];[formatter setNumberStyle:NSNumb
..
我怎样才能注意到 NSWindow 应该或将要关闭的时间?我想要一些类似 windowWillClose 的东西.不幸的是,NSWindowController 没有 UIViewController 那样方便的方法,例如.那么这样做的最佳做法是什么? 谢谢 -f 解决方案 根据 NSWindow 文档,一个窗口在即将关闭时会发布一个 NSWindowWillCloseNotifi
..
我很难准确理解何时在 AppKit 应用程序中创建和发布自动释放池. 例如,如果我有一个覆盖 init 的 ApplicationController 类,是否有一个自动释放池在它开始之前被创建并在它结束后被耗尽? 解决方案 AppKit 应用程序中的主线程运行 NSRunLoop 来处理事件.NSRunLoop 每次处理新事件(或计时器)时都会创建一个新的自动释放池,并在控制流返回
..
我是 Swift 的新手,正在为 NSTableView 苦苦挣扎!我正在尝试从 NIB 创建自定义 NSTableCellView. 我想从 NIB 加载单元格,因为: 它将在多个列和多个表视图中重复使用 它将在视觉和功能上(相对)复杂 它可能会在开发过程中演变 我可以在我的表格视图中加载单元格,但我收到“无法连接出口...缺少设置器或实例变量";当我尝试用数据填充视图时,
..
如果我想忽略 iPhone 上 UIKit 中的触摸事件,我会这样做: //开始忽略事件[[UIApplication sharedApplication] beginIgnoringInteractionEvents];//做我的代码//停止忽略事件[[UIApplication sharedApplication] endIgnoringInteractionEvents]; 这允许我的代
..
我已经创建了一个类似于 iTunes 的 NSScroller 子类,但是如果水平和垂直滚动条在 NSScrollView 或 NSTableView 中都可见,我会在右下角留下一个难看的白色方块.任何人都知道在哪里添加我的自定义绘图以用更漂亮的东西填充它? 解决方案 好的,我想我有解决方案. 要么你告诉滚动视图不要绘制它的背景,在这种情况下,它下面的任何东西都会填满角落. 或
..
我试图在我的 NSTextView 子类中显示不可见的字符,比如换行符.像覆盖 NSLayoutManager 的 drawGlyph 方法这样的常用方法是一个坏主意,因为它太慢并且不能在多页布局中正常工作. 我想要做的是覆盖 NSLayoutManager 的 setGlyph 方法,以便它将不可见的“\n"字形替换为“¶"字形,将“"替换为“∙". 它适用于 " " 空格字形,但对
..
我正在实施一个自定义 NSMenuItem 视图,该视图显示亮点 当用户将鼠标悬停在它上面时.为此,代码在将 [NSColor selectedMenuItemColor] 设置为活动颜色后调用 NSRectFill.但是,我注意到结果不只是一个纯色——它实际上绘制了一个渐变.非常好,但想知道这种“魔法"是如何工作的——也就是说,如果我想定义自己的颜色,而不仅仅是绘制纯色,我该怎么做? 解决
..
我已经尝试了我能想到的一切,包括我在 SO 和其他邮件列表上找到的所有建议,但我无法弄清楚如何以编程方式折叠 NSSplitView 窗格自动布局开启时的动画. 这是我现在所拥有的(为了好玩而用 Swift 编写),但它以多种方式失败: @IBAction func toggleSourceList(sender: AnyObject?) {让 isOpen = !splitView.is
..
我向我的应用程序委托添加了一个 applicationShouldOpenUntitledFile 方法,返回 NO 作为 Apple 的文档指定.但是,我仍然在启动时收到一个新文档.怎么了? @implementation AppDelegate@合成窗口;- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
..
我有以下 Cocoa 表格: struct Canvas: PreviewProvider {静态 var 预览:一些视图 {虚拟堆栈{HStack(对齐:.firstTextBaseline){文本(“端点:")TextField("https://localhost:8080/api", text: .constant(""))}分隔线()HStack(对齐:.firstTextBaseli
..
对 - 所以我创建了一本帮助手册,所有正确的事情,仔细检查了我的plist 和index.html文件,而我得到的只是臭名昭著的 所选主题当前不可用. 当试图打开帮助手册时,控制台中唯一的条目是一个普通的 3/8/15 1:23:42.467 PM HelpViewer[35015]:找不到此 ID 的书:(空) 不太有用. 从这里去哪里? Apple 帮助是否有任何调试技
..
预览(例如调整形状大小时)使用的调整大小鼠标光标是否为系统光标? 它不能直接作为 NSCursor 中的方法使用,但看起来预览应用程序包中的光标也没有私有资源.. 除了NSCursor 类定义的方法之外,还有更多的系统游标吗? 解决方案 我想你对这些类方法特别感兴趣(Preview.app dissasembly). +[NSCursor resizeAngle45Curso
..
我有一个自定义层支持的 NSView 并覆盖了 makeBackingLayer 方法以返回自定义 CALayer 子类.我还覆盖了 WantUpdateLayer 以返回 true 从而完全选择类似图层的绘图. override func makeBackingLayer() ->图层{return Layer()//我的带有“drawLayer:"的自定义类实现}覆盖 var WantedU
..
我发现了 NSBundle 中的 NSNibLoading 方法: +[NSBundle loadNibFile:externalNameTable:withZone:]+[NSBundle loadNibNamed:owner:]-[NSBundle loadNibFile:externalNameTable:withZone:] 在 10.8 中都被标记为弃用 - 在 10.8 及更高版本
..
众所周知,更新AppKit 或UIKit 中的用户界面需要在主线程上进行.Metal 在呈现 drawable 时是否有相同的要求? 在我一直在玩的层托管 NSView 中,我注意到我可以从 dispatch_queue 调用 [CAMetalLayer nextDrawable] 不是 main_queue.然后我可以像往常一样更新该 drawable 的纹理并呈现它. 这看起来工作
..
我正在为 macOS 制作一个 SwiftUI 应用程序,我想通过检测用户手指的位置将触控板用作 (x, y) 输入.我希望能够检测到多个手指搁置在触控板上(而不是拖动).我该怎么做? 一个类似的问题 之前有人问过,但我再次问,因为那是近 10 年前的问题,答案都在 Obj-C(Swift 3 中的一个)中,我想知道是否有更新的方法.最重要的是,我不知道如何将 Obj-C 代码实现到我的 S
..
我在 Xcode 上为 OS X 创建了一个空的 Cocoa 应用程序,并添加: - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {self.view = [[NSView alloc] initWithFrame:NSMakeRect(100, 100, 200, 200)];self.view.wan
..