-[NSResponder swipeWithEvent:] 未调用

2024-03-15

我正在编写一个针对 OS X Lion 和 Snow Leopard 的应用程序。我有一个观点,我想响应滑动事件。我的理解是三指滑动会调用-[NSResponder swipeWithEvent:]如果该方法在我的自定义视图中实现。我已经看过了this https://stackoverflow.com/questions/7421687/voidswipewitheventnsevent-event-not-working-on-lion问题和相应的答案,并尝试了 Oscar Del Ben 代码的以下修改存根实现:

@implementation TestView

- (id)initWithFrame:(NSRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code here.
    }

    return self;
}

- (void)drawRect:(NSRect)dirtyRect
{
    [[NSColor redColor] set];
    NSRectFillUsingOperation(dirtyRect, NSCompositeSourceOver);
}

- (void)swipeWithEvent:(NSEvent *)event {
    NSLog(@"Swipe event detected!");
}

- (void)beginGestureWithEvent:(NSEvent *)event {
    NSLog(@"Gesture detected!");
}

- (void)endGestureWithEvent:(NSEvent *)event {
    NSLog(@"Gesture end detected!");
}

- (void)mouseDown:(NSEvent *)theEvent {
    NSLog(@"mouseDown event detected!");
}

@end

这编译并运行良好,并且视图按预期呈现。这mouseDown:事件已正确注册。然而,没有其他事件被触发。既没有begin/endGestureWithEvent:方法,也不swipeWithEvent:方法。这让我想知道:我是否需要在某处设置项目/应用程序设置才能正确接收和/或解释手势?先谢谢您的帮助。


受到滑动事件:消息时,您必须确保 3 指滑动手势未映射到任何可能导致冲突的内容。转到系统首选项 -> 触控板 -> 更多手势,并将这些首选项设置为以下选项之一:

  • 在页面之间滑动:

    1. 用两根或三根手指滑动,或者
    2. 用三个手指滑动
  • 在全屏应用程序之间滑动:

    1. 用四根手指向左或向右滑动

具体来说,全屏应用之间的滑动不应该设置为三指,否则你将无法得到滑动事件:消息。

这两个首选项设置共同导致滑动事件:要发送给第一响应者的消息。

当然,您仍然需要实现实际的滑动逻辑。如果您想像 iOS 那样执行流畅的滚动滑动,那么您将需要做更多的工作。 Lion App Kit 发行说明中的​​“流畅滑动跟踪”部分提供了如何执行此操作的示例。

See http://developer.apple.com/library/mac/#releasenotes/Cocoa/AppKit.html http://developer.apple.com/library/mac/#releasenotes/Cocoa/AppKit.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

-[NSResponder swipeWithEvent:] 未调用 的相关文章

  • NSOpenGLView、NSWindow 和 NSResponder - makeFirstResponder 不工作

    在下面的代码中我正在初始化NSViewController NSResponder 带有NSWindow a NSOpenGLView 呈现视图并尝试设置NSViewController作为 Windows 第一响应者 它不起作用 我期望能
  • 您希望 2 年前就知道哪些 Cocoa/Core Foundation 辅助函数?

    我刚刚在 NSGeometry h 中发现了 NSRect 辅助函数 即 NSMidX NSMaxX 等 这些将使一些重复编码变得更加容易 我了解 NSMakeRect NSMouseInRect NSOffsetRect 和许多其他函数
  • 以编程方式设置文本后,自动链接检测在 NSTextView 中不起作用

    我有一个启用了自动链接检测的 NSTextView 当我以编程方式设置文本时 myTextView setString http google com 它不会自动显示链接 如果我在文本视图中输入任何内容 它将添加链接 我希望它添加链接 不得
  • 如何将主菜单添加到 xib

    我从 xib 文件中删除了主菜单 我怎样才能重新创建它而不需要处理它 另一个新创建的xib 我似乎找不到如何告诉 IB 我从对象库添加的菜单实际上是主应用程序菜单 你不能 您过去可以简单地连接mainMenu菜单的出口 但从 Xcode 4
  • 安装 Xcode 4.3 后 filemerge 是否仍然可用?

    我在哪里可以找到filemergeXcode升级到4 3后 在 Xcode 中 选择此菜单项 Xcode gt Open Developer Tool gt FileMerge 应用程序本身在这里 Applications Xcode ap
  • 似乎无法在 NSMenuItem 上 setEnabled:NO

    我已经子类化了NSMenu并连接了一堆NSMenuItem通过界面生成器 我已经通过调试器进行了测试 看看它们确实得到了初始化 菜单设置为不自动启用项目 仍然当我将任何 NSMenuItem 设置为 myMenuItem setEnable
  • 如何有条件地使用新的 Cocoa API

    苹果在 10 6 中添加了 NSPropertyListSerialization dataWithPropertyList format options error 并标记较旧的 NSPropertyListSerialization d
  • cocoa——让嵌套的 NSView 和 CALayers 按比例调整大小

    我的 NSWindow 的 contentView 是 NSView 子类 它还有一些其他 NSView 子类作为子视图 子视图是基于图层的 而这些图层又包含子图层 一些子层具有另外的子子层 我希望在调整窗口大小时 整个内容也按比例调整大小
  • 获取 Finder 前窗口的 POSIX 路径

    如何获取当前位于窗口列表顶部的 Finder 窗口的 POSIX 路径 最好使用某种 Cocoa 框架 但我对任何事情都持开放态度 背景 我需要这个 因为我想选择与正则表达式模式匹配的文件 从该路径递归开始 这个想法是使用 NSWorksp
  • 如何设置主窗口的位置和大小(以编程方式)?

    我正在使用 OS X 的最新默认项目 10 11 Xcode 7 0 它使用故事板 层次结构如下 Window Controller gt View Controller 我想设置窗口的初始位置和框架大小 显然用户可以更改它 但我希望它以一
  • 如何在 Xcode 中设置 Mac 应用程序的图标?

    我学习了很多关于编写 Objective C 代码和在 Interface Builder 中进行设计的知识 并且我想为我的简单程序设置图标 我将相同的 JPG 添加到 Icon Composer 中的所有尺寸字段并获得了 ICNS 但我不
  • 在 Cocoa 中实现源代码语法高亮的最佳方法是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发 Cocoa 应用程序 它应该能够分析和突出显示用 Objective C SQL JavaS
  • 用强/弱自我打破保留周期

    我读过关于强 弱的帖子self打破保留周期 但我仍然对它们如何工作感到困惑 我理解使用 weak typeof self weakSelf self创建对自我的弱引用 但我对强引用感到困惑 据我了解 强引用是指对self这样它就不会在块结束
  • 使用 PRODUCT_NAME 构建 cocoapods 项目的 xcodebuild 失败

    我可以使用以下命令构建我的 Cocoapods 项目 base basename xcworkspace xcworkspace xcodebuild sdk iphonesimulator ios version CONFIGURATIO
  • NSPredicate 格式字符串不起作用

    在我的代码中 我想检查记录是否已存在 以便我知道是创建它还是更新它 但我遇到了一个问题 问题是当我使用这个时 NSPredicate pred NSPredicate predicateWithFormat ATTRIBUTE ID idN
  • 如何将 JPG 文件加载到 NSBitmapImageRep 中?

    Objective C 可可 我需要将 JPG 文件中的图像加载到二维数组中 以便可以访问每个像素 我正在尝试 未成功 将图像加载到 NSBitmapImageRep 中 我尝试了以下两行代码的几种变体 NSString filePath
  • 使用 Swift 创建 NSAlert

    我有在 Objective C 中创建和 NSAlert 的代码 但我现在想在 Swift 中创建它 该警报旨在确认用户想要删除文档 我想要 删除 按钮来运行删除功能 而 取消 按钮只是为了消除警报 我怎样才能用 Swift 写这个 NSA
  • 获取本周的第一天和最后一天

    如何获取本周的第一天和最后一天 我需要的是某种方法来过滤一组具有 NSDate 属性的对象 只留下本周出现的对象 然后按天过滤它们 我还需要一些方法来获取本地化的日期名称 我尝试使用 NSCalendar NSDate 和 NSDateCo
  • 如何将字符串从 Applescript 传递到 Objective C

    我正在开发一个应用程序 我需要能够传递一个字符串变量 from 苹果脚本 to 目标C 我已经弄清楚如何从 Objective C 类中的方法运行 Applescript 但我需要能够将 NSString 设置为 Applescript 中
  • 使用 UIKeyCommand 检测删除键

    任何人都知道如何使用检测 删除 键UIKeyCommand在 iOS 7 上 当人们在使用 Swift 时遇到问题时 我认为用 Objective C 和 Swift 编写一个小型的 完整的例子可能是一个很好的答案 请注意 Swift 没有

随机推荐

  • 根据 WooCommerce 结账中的分类术语限制支付网关

    在我的 WooCommerce 商店中 仅当产品具有类别 ID 266 的特定产品类别时 我想限制并显示支付网关 支票 现在我有了这个代码片段 但它的作用相反 它在结账时禁用了特定产品类别的网关 add filter woocommerce
  • JQuery UI 可拖动:超出一侧的限制

    我正在使用 JQuery UI 来实现可调整大小 可拖动的元素 现在我想为这些元素定义一个包含 限制在三个 边上的调整大小 拖动 例如 看看这个JSFiddle 示例 http jsfiddle net zuul e2yfC 5 您可以看到
  • 使用 alamofire 的多部分/表单数据

    我正在进行 post API 调用 并且需要使用 multipart form data 我知道如何使用 JSON 进行调用 但我不熟悉 multipart form data 使用 JSON 这是一个超级简单的调用 只需创建一个类型参数
  • 用于更新 JTable 中给定单元格/列并增加焦点的侦听器类型

    我正在尝试使用预定义第一列的 JTable 用户仅将数据输入到第二列 数量 然后 我通过将 服务 列和 数量 列相乘来计算最终收入 并将其显示在第三列 收入 中 Service Quantity Income 40 00 X 40 00 3
  • Java:HashMap 大小是“质数”还是“2 的幂”?

    许多书籍和教程都说哈希表的大小必须是素数才能将键均匀分布在所有桶中 但是Java的HashMap始终使用 2 的幂的大小 难道不应该使用素数吗 作为哈希表大小 质数 或 2 的幂 哪个更好 使用 2 的幂可以有效地屏蔽哈希码的最高位 因此
  • Blend 2 sp1 中的 WPF 视觉状态管理器

    谁能向我解释如何让视觉状态管理器与 WPF 应用程序一起使用 它刚刚被添加到新的 wpftoolkit 中 我按照说明安装了它 但即使是示例也没有显示 VSM 在 silverlight 中它可以工作 但在 WPF 中不行 如果安装了最新的
  • Oracle 上个月的日期函数

    我有下面的查询 其中日期是硬编码的 我的目标是删除编码日期 查询运行时应提取上个月的数据 select count distinct switch id from email protected cdn cgi l email protec
  • a:active a href 不起作用

    我正在尝试在 a href 上应用 css 基本上我需要在单击 a href 时应用与悬停相同的样式以指示用户所在的页面 有任何想法吗 active意思是 被点击 或以其他方式激活 时 它并不意味着 链接到当前页面 CSS 与之最接近的是
  • 更改 UICollectionViewCell 中的标签位置

    我们有一个UICollectionView故事板上有一个原型单元 该细胞有一个UILabel label 其中 其定位没有自动布局 我们有条件地设置标签的框架 collectionView cellForItemAtIndexPath 像这
  • 根据 Beautifulsoup 中的内容排除标签

    我正在抓取类似于以下内容的 html 数据 div class target content p the content of the p p p the content of the p p p p div
  • G++ CAS (__sync_val_compare_and_swap) 问题需要解释

    这让我很头疼 我正在尝试实现一些 无锁 代码 并使用 CAS gcc sync val compare and swap 来完成繁重的工作 我的问题可以用下面的代码来显示 volatile bool lock void locktest v
  • 如何使用 vba 更新 powerpoint 2010 中嵌入的 Excel 链接

    我的问题是我已将图表粘贴到微软幻灯片软件 questions tagged powerpoint我正在尝试通过 Excel VBA 更新嵌入的链接 我尝试过下面的代码但失败了 code 1 AppPPT Presentations Open
  • jQuery/javascript 替换标签类型

    有没有一种简单的方法可以循环遍历所有 td 标签并将它们更改为 th ETC 我当前的方法是用 th 包裹它们 然后删除 td 但随后我会丢失其他属性等 jQuery replaceTagName 以下是一个 jQuery 插件 用于替换
  • Woocommerce 自定义产品列表分页

    我有这样的代码用于在 woocommerce 中获取和显示产品 args array post type gt product posts per page gt 30 loop new WP Query args if loop gt h
  • 421 4.3.0 临时系统问题。稍后重试 (10) [重复]

    这个问题在这里已经有答案了 我正在使用nodemailer npm 包和gmail 作为nodejs 中的服务 对于某些电子邮件 我收到以下错误 Data command failed 421 4 3 0 Temporary System
  • 只有一个(自定义)注释从一系列其他注释中轮换

    我的应用程序即将进入最后阶段 该阶段显示公交车的实时地图 所以 基本上 我有一个计时器 它定期从提供公交车实时位置的 xml 表中获取公交车的纬度和经度 我能够设置 xml 解析器 为公交车的移动设置动画并为公交车设置自定义 箭头 图像 然
  • Linq 中的 ISNULL 等效项

    我有一张带有一列的桌子IsActive现在我想获取具有给定状态的记录列表 但我想处理IsActive将 null 值视为 false 在 SQL 中我们使用 SELECT FROM dbo Table c WHERE ISNULL IsAc
  • 为什么 pip 需求文件包含“@​​file”而不是版本号?

    我使用 pip freeze gt requirements txt 创建了requirements txt 有些模块显示 file 而不是版本 它是什么意思以及为什么会显示 康达 4 8 3 这是requirements txt 的结果
  • 为什么对 C 枚举定义中的值使用按位移位运算符?

    Apple 有时会在其应用程序中使用按位移位运算符enum定义 例如 在CGDirectDisplay h文件是核心图形的一部分 enum kCGDisplayBeginConfigurationFlag 1 lt lt 0 kCGDisp
  • -[NSResponder swipeWithEvent:] 未调用

    我正在编写一个针对 OS X Lion 和 Snow Leopard 的应用程序 我有一个观点 我想响应滑动事件 我的理解是三指滑动会调用 NSResponder swipeWithEvent 如果该方法在我的自定义视图中实现 我已经看过了