2

我刚刚开始尝试学习如何为 iPad 编写应用程序。我有 C、C++ 和 Java 方面的经验,但总体上对 Objective C ios 还是很陌生。

我有一个自定义 UIView 可以在屏幕上绘制一条数字线,并且我有一些工作按钮可以触发该视图中的方法。

我想做的是在我的 UIView 中触摸绘制的数字线调用一个方法。更一般地说,背景上的任何点击都应该使用屏幕坐标调用此方法,这样我就可以决定他们是否触摸了正确的位置以及要做什么。

我已经搜索了好几个小时来获取信息,并且有点绕圈子。据我所知,将手势识别代码添加到 ViewController 而不是 UIView 是正常的(我让 Xcode 自动为我做尽可能多的事情,所以对这些不同的部分只有非常基本的了解)。

问题是程序的所有“大脑”都在 UIView 中(我想将绘制的箭头移动到数字行上的新点击位置)。但是,如果我在 ViewController 中有一个响应触摸事件的方法,我无法弄清楚如何从我的控制器中调用我的 UIView 方法。

最简单的方法是直接在我的 UIView 子类中从触摸事件调用的方法。

到目前为止,我所做的只是使用 Xcode 设置一个单一视图应用程序并创建一个 UIView 子类(称为 FracLine),然后绘制数字线和一个箭头。

谢谢。

4

1 回答 1

0

如果您查看UIResponder的文档(从 UIView 继承),您将在底部附近看到与触摸相关的方法。这些方法都为您提供了一个包含 UITouch 对象的 NSSet 触摸。UITouch有一个名为 locationInView 的实例方法:它会给你一个 CGPoint 来查看它被触摸的位置。

于 2012-10-19T23:59:52.327 回答