问题标签 [appkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - 关闭文档窗口并打开新窗口,但不关闭文档
我的应用程序是基于文档的,但“文档”包含两个文件夹,而不是一个文件。文档的初始窗口包含几个文件选择器和一个按钮;该操作将关闭该窗口并打开一个新窗口,显示两个文件夹层次结构之间的操作结果。(这两个窗口的大小显着不同;将两个视图都保存在 tables 选项卡视图中并使用它进行切换并非易事。)
这是我的操作方法中关闭文件选择器窗口并打开结果窗口的代码:
(我在尝试解决问题时添加了保留和释放消息。)
我的问题是,尽管我告诉初始窗口控制器不要关闭文档,但在此操作方法完成后文档会被释放和释放。(这是解决问题的又一次失败尝试。)
那么,对于同一个文档,我怎样才能用另一个窗口替换第一个窗口,而不会使文档消失呢?
macos - 如何处理默认 URL 方案
我想在我的应用程序中构建 URI(或 URL 方案)支持。
我LSSetDefaultHandlerForURLScheme()
在我的中做了一个,我+ (void)initialize
也在我的info.plist
. 所以我有没有Apple Script
or的 URL 方案Apple Events
。
当我myScheme:
在我最喜欢的浏览器中调用时,系统会激活我的应用程序。
问题是,当它们被调用时如何处理它们。或者更好地说:我如何定义我的应用程序应该做什么,什么时候myScheme:
被调用。
是否有我必须实施的特殊方法,或者我必须在某处注册一个?
cocoa - Cocoa 自定义系统上下文菜单
我需要将自定义元素添加到所有正在运行的应用程序的上下文菜单中。有可能吗?比如:我选择文本,在上下文菜单中我不仅有应用程序项目,还有我的应用程序的其他项目,并且这些项目必须连接到我的应用程序。它必须适用于所有应用程序。
macos - OSX 10.6 上的 Appkit 示例
我正在尝试重新发明 Preview.app。我被告知 /Developers/Examples/AppKit 中的一些示例将对我有所帮助。但是,在我的 10.6 系统上,我没有这样的文件夹。
这些例子有没有被移动?我的安装是否不完整?我从 10.5 系统复制的示例可以工作吗?
谢谢
objective-c - 子类化NSScroller,如何去掉右下角的白色方块?
我已经创建了一个类似 iTunes 的 NSScroller 子类,但是如果水平和垂直滚动条在 NSScrollView 或 NSTableView 中都可见,我会在右下角留下一个难看的白色方块。任何人都知道在哪里添加我的自定义绘图以用更漂亮的东西填充它?
objective-c - 显示工作表时的动画(可可)
在 Cocoa 中显示工作表时,我遇到了一个问题,尤其是动画。如何显示带有和不带有漂亮动画的工作表(普通 NSWindow/NSPanel)?它会自动为 NSSavePanel/NSOpenPanel 执行此操作,但我无法为我在 Interface Builder 中创建的标准 NSWindow/NSPanel 工作表获得漂亮的动画。(当我说动画时,单击 Safari 偏好设置中“安全”选项卡中的“显示 Cookie”按钮)
谢谢,丽贝卡。
objective-c - NSViewController 如何避免绑定内存泄漏?[有示例应用程序]
我正在尝试实现我自己的 NSViewController 版本(为了向后兼容),但我遇到了绑定问题:由于绑定保留了它们的目标,所以每当我通过 File 的所有者绑定时,我都有一个保留圈。
所以我想我只是明确地从它的超级视图中删除我的视图并释放顶级对象,这将处理绑定,因为我的控制器不再持有视图,所以他们释放了我,我可以离开。但是由于某种原因,我的视图控制器仍然没有被释放。这是一个展示问题的示例应用程序:
http://dl.dropbox.com/u/34351/BindingsLeak.zip
构建它,启动它,然后点击 Cmd-K(“编辑”菜单中的“创建 Nib”)将一个 NIB 加载到空窗口中。再次点击 Cmd-K 以释放第一个视图控制器 (TestNibOwner) 并加载一个新的。但是,旧的视图控制器永远不会被释放。
删除复选框上的“值”绑定,它就可以正常释放了。
如果您在 release/retain/autorelease 覆盖处设置断点,您会看到 _NSBindingInfo 保留了 TestNibOwner,但在泄漏的情况下从不释放它。
有人知道怎么修这个东西吗?
objective-c - Aaron Hillegass _Mac OS X 的 Cocoa 编程_第 9 章问题
在 Aaron Hillegass 的Cocoa Programming for Mac OS X的第 9 章,名为“Begin Editing on Insert”的部分中,他解释了如何做到这一点。不过,让我感到困惑的是,他做了很多其他的事情。这是完整的代码清单:
我对此有两个问题:
1)你怎么知道你应该做所有这些事情?Apple的文档中是否有“清单”或其他内容?经验?
2)如果您仍然必须自己重写所有方法,这是否会破坏数组控制器的全部目的?
编辑:我主要想知道他是怎么知道把这些线放进去的:(因为其他一切都非常基本和明显)
objective-c - Xcode 完成无法识别我的变量的类型
我正在创建一个对象:
(忽略我以编程方式创建此菜单而不使用 Nib 文件的事实。我了解这样做的缺点)
菜单正确显示在菜单栏中。
但是,当我尝试调用任何实例方法时,例如:
XCode 提供了一些补全,但似乎没有一个来自 NSMenu。
我都试过了
NSMenu.h 中肯定有实例方法,正如我所说,它安装了我的菜单。它只是不安装菜单项。加上缺乏完成让我认为我的 appMainMenu 没有被识别为 NSMenu 对象,即使它显然是有效的。
我错过了什么明显的东西?
iphone - 'bezierPathWithOvalInRect' 错误的参数 1 的类型不兼容
我有以下代码:
当我编译时,它显示“'bezierPathWithOvalInRect' 错误的参数 1 的类型不兼容”。但是,当我这样做时,它会起作用:
什么是问题?
谢谢。