1

我想从 Apple 的网站上获取“LightTable”示例代码(https://developer.apple.com/library/mac/#samplecode/LightTable/Introduction/Intro.html)。这一切都编译得很好,但是将图像拖到正在运行的程序窗口会导致在控制台中记录此错误消息:

** Canceling drag because exception 'CALayerInvalidGeometry' (reason 'CALayer position contains NaN: [nan nan]') was raised during a dragging session

什么也没有发生。

我正在使用 Xcode 4.6.1 和 OSX 10.8.3 问题似乎出在“LTMaskLayer”类中。特别是 setFrame 功能,但经过一些修补后,我仍然无法让应用程序正常工作。

似乎是一个很好的应用程序,有很多东西可以学习,而不仅仅是触摸手势,我真的很想让它工作。非常感谢任何可以提供帮助的人。

4

1 回答 1

1

你是对的,错误似乎在-[LTMaskLayer setFrame:].

这个实验对我有用。改变:

if (!CGSizeEqualToSize(oldFrame.size, frame.size)) {

if (!CGSizeEqualToSize(oldFrame.size, frame.size) && !CGSizeEqualToSize(oldFrame.size, CGSizeZero)) {

完全有可能有更好的解决方法,但这应该会让你走得更远。

于 2013-05-04T22:22:38.030 回答