代码之家  ›  专栏  ›  技术社区  ›  Alex

如何将Mac OS X Cocoa事件用于多点触控手势

  •  4
  • Alex  · 技术社区  · 15 年前

    我正在编写一个程序,它在NSScrollView中嵌入了一个NSView,用户可以进行缩放。我很想设置它,这样用户就可以使用MacBook Air和新款一体式MacBooks/MacBooks Pro以及Safari和iPhoto等应用程序支持的多点触控收缩手势缩放视图。我查阅了苹果的文档,不知道该怎么做。

    1. 如果不是,私有API有多“坏”(例如,它只是一个未声明的常量还是一组全新的方法)?
    1 回复  |  直到 15 年前
        1
  •  12
  •   Peter Hosey    12 年前

    编辑: AppKit release notes for Snow Leopard ; F表示手势和多点触控(sic)。如果您使用了下面的文档,它们看起来会很熟悉,但是可能有一些细微的区别,所以还是要阅读新文档。


    在Mac OS X 10.5 Leopard上使用公开可用的API支持这一点吗?

    不,10.5.0根本不支持它,10.5.1到10.5.6使您实现未记录的方法。

    如果不是,私有API有多“坏”(例如,它只是一个未声明的常量还是一组全新的方法)?

    一点也不坏。 You have to implement some undocumented event methods in your view. 自从 实现这些方法的那个,如果苹果改变了这些方法,你不应该崩溃;所有将发生的是,该功能将停止工作。

    但是,如果您要从事件中检索绝对(而不是增量)放大率或旋转,那么这些都是尚未记录的事件方法,因此您应该使用 respondsToSelector: 并对方法的返回值执行仔细的范围检查。