cocoa相关内容
我正在使用 Core Image,并希望在所选图像上产生黑白效果. 理想情况下,我希望能够访问 Photoshop 上可用的相同类型的选项,即红色、青色、绿色、蓝色和洋红色.目标是创建不同类型的黑白效果. 有谁知道什么过滤器最适合操纵这些选项?如果没有,有人知道使用其他滤镜创建黑白效果的好方法吗? 谢谢 奥利弗 解决方案 - (UIImage *)imageBlac
..
在我的日常工作中,Mockito的never()验证,可以确认一个mock方法永远不会被调用. 有没有什么方法可以使用 Objective-C 和 OCMock 来完成同样的事情?我一直在使用下面的代码,它可以工作,但感觉就像一个黑客.我希望有更好的方法... - (void)testSomeMethodIsNeverCalled {id mock = [OCMockObject mock
..
Mac OS X 10.6 — Cocoa 我正在使用全局事件监视器来使用自定义键盘快捷键显示状态项菜单: globalEventMonitor = [NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent *event){if ([event keyCode] == kVK_F12){[自
..
我的应用有一个 NSOutlineView 和一个 NSTableView,我在这两个方面都遇到了同样的问题.选中任一行后,按 Tab 键会将第一列置于编辑模式,而不是让下一个键查看第一响应者.要进入下一个关键视图,您需要在所有列之间切换. 此外,切换到任一视图会导致 last 列进入编辑模式,需要更多的切换选项卡才能进入其先前的键视图. 以防万一,我使用的是自动计算的键视图循环,而不
..
我正在寻找可与 Cocoa 的 NSEvent 类一起使用的可用键代码的完整列表.NSEvent 类有一个keyCode 属性,定义为unsigned short.以下代码在放置在适当的 UI 对象中时,将在按键代码被按下时回显: - (void)keyDown:(NSEvent *)theEvent{NSLog(@"%d", [theEvent keyCode]);} 从这段代码中,我可以很
..
我想过滤第二个键盘上的键盘输入,并防止第二个键盘的键事件到达操作系统(自己处理它们).如何做到这一点? 解决方案 可以通过IOKit和HIDManager类来实现. 如果需要独占访问键盘,可以使用 kIOHIDOptionsTypeSeizeDevice 选项,但程序必须以 root 权限运行. 获得此结果所需的代码存根如下所示: //创建一个管理器实例IOHIDManage
..
有没有办法让我的应用响应 Mac 上的播放/暂停按钮? 编辑: 使用建议的代码,我收到以下控制台消息: 无法将操作 buttonPressed: 连接到 NSApplication 类的目标 为什么会这样? 解决方案 我在自己的应用程序中通过子类化 NSApplication(并将应用程序的主体类设置为这个子类)来实现这一点.它捕获搜索和播放/暂停键并将它们转换为我
..
游戏需要对键盘输入进行低级访问.在 Windows 上,有 DirectInput.但是 Mac OS X 游戏开发者使用什么技术呢? 显然,有足够多的 Mac 游戏可以恰到好处地输入键盘,而没有常见解决方案的缺点: 解决方案 #1:使用 keyUp/keyDown 事件 -(void)keyUp:(NSEvent*)event;-(void)keyDown:(NSEvent*)事件
..
我需要检测用户按下的所有键.使用 -keyDown: 我可以得到大多数按键(字母数字、功能键、箭头、空格键、escape、return),但是单独按下时我无法得到任何修饰键. 如何绝对检测到任何击键,包括修饰键? 解决方案 试试看: [NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask|NSFlagsChangedM
..
我有一个名为 SurfaceView 的自定义 NSView.它是 NSWindow 的 contentView,它处理鼠标点击和绘图等基本事件.但不管我做什么,它不处理 keyDown 功能.我已经覆盖了acceptsFirstResponder,但没有任何反应. 如果重要,我会使用自定义 NSEvent 循环运行应用程序,如下所示: NSDictionary* info = [[NSB
..
我想要得到的是与此滚动视图相同的行为: 我知道这是使用 HTML 而不是本机 API,但我正在尝试将其实现为 UIKit 组件. 现在,我正在寻找的行为: 请注意,这是一个分页滚动视图,但“页面大小"小于视图的宽度. 当您从左到右滚动时,每个页面都会“捕捉"到最左边的项目. 当您从右端向左滚动时,它会“捕捉"到最右边的项目. 同一页,但现在从右到左: 我的尝试:
..
当 NSAutoreleasePool 耗尽时,我发生了崩溃.据推测,池正在尝试解除分配已被另一段代码过早释放的对象.我遇到的崩溃发生在 objc_msgSend 中间,因为它试图向不再存在的对象发送消息. 鉴于堆栈状态,我可以使用哪些提示/技巧/进程/gdb 命令来获取有关相关对象和/或发生非法释放的点的信息? 解决方案 如果你有预感这是一个过早的删除,让僵尸确认你的假设,然后调试
..
问题 我正在编写一个 Cocoa 应用程序,我想引发异常,使应用程序崩溃. 我的应用程序委托中有以下几行: [NSException raise:NSInternalInconsistencyException format:@"这应该会使应用程序崩溃."];中止(); 问题是,他们并没有关闭应用程序 - 消息只是记录到控制台,应用程序继续它的快乐方式. 据我了解,例外的全部
..
任何人都有诊断这些崩溃的经验吗?我有一个用户始终如一地获取它们,虽然我找到了与 iOS 相关的帖子,但我的应用程序并没有因相同类型的操作而崩溃... 解决方案 原因: 在 iOS/tvOS 中有队列/线程,每个线程都有自己的类型或优先级,也称为“服务质量"或简称“QOS",表示 CPU 应处理此线程的紧急程度,可能性有: QOS_CLASS_DEFAULT QOS_CLASS
..
如何实现以下从双精度到字符串的转换: 1.4324 =>“1.43"9.4000 =>“9.4"43.000 =>“43" 即我想四舍五入到小数位,但不想要任何尾随零,即我不想要 9.4 =>“9.40"(错误)43.000 =>“43.00"(错误) 所以我现在拥有的这段代码不起作用,因为它显示了多余的零: [NSString stringWithFormat: @"%.2f", to
..
我正在尝试进行一些数字舍入和转换为字符串,以增强 Objective-C 程序中的输出. 我有一个浮点值,我想四舍五入到最接近的 0.5,然后用它来设置标签上的文本. 例如: 1.4 将是一个字符串:1.5 1.2 将是一个字符串:1 0.2 将是一个字符串:0 我花了一段时间在 Google 上寻找答案,但是作为 Objective-C 的菜鸟,我不确定要搜索
..
我正在使用 NSDate *date = [NSDate 日期]; 获取日期,但我得到的日期差了 2 小时. 解决方案 NSDate 对象没有时区.它们代表了一个绝对的时刻.然而,当你询问它的 description 时(例如通过 NSLog() 打印它),它必须选择一个时区.最合理的“默认"选择是 GMT.如果您自己不在格林威治标准时间,则日期似乎不正确,按您自己的偏移量计算.
..
if([@"" class] == NSClassFromString(NSStringFromClass([@"" class])))printf("foo");别的printf("bar"); iOS 上的输出:foo OS X 上的输出:条形 为什么这在 OS X 上表现得那么奇怪? 解决方案 有趣的问题.以下指出评论中提到的一些事情: Class c1 = [@""
..
我目前正在我的 OS X 应用程序的表格视图中实现拖放重新排列.虽然正常滚动工作正常,但拖动时自动滚动完全损坏. 如果我抓住一个单元格并开始拖动,自动滚动只会告诉表格滚动到顶部.如果我在拖动过程中使用触控板手动滚动,表格会不断弹出到顶部.如果我拖动顶部的单元格之一,当拖动到底部附近时表格不会自动向下滚动. 我继承了 NSScrollView 并覆盖了 scrollClipView 方法
..
我研究过 Apple 的示例:CocoaDragAndDrop.我了解如何将图像拖动到 NSImageView 并在视图之间拖动图像.但是,我仍然不知道如何将图像拖放到 Finder 上时如何拖动图像并将其保存到文件中. 谁能给我一个例子? 解决方案 我终于知道怎么做了.我在 Github 上写了一个 demo
..