一、接下来,我们来说这个单点触摸的案例

1.运行起来之后,是这样的一个效果,

这里边有一个View,我点一下它呢,它就会跑到我鼠标的位置,中心对着我的鼠标,然后呢,我现在移动,

我现在移动它,它能够跟着我的手指去移动,然后,这是我们要做的一个小案例啊,
首先,我们新建一个项目,

Name:02-单点触摸案例

首先,我在storyboard里面,拖一个UIView,给它一个颜色,

位置还是(100,100,100,100),

然后呢,把这个View啊,去给它绑定一个类,HMView,

New一个File,叫做HMView,

New一个File,

继承UIView,

回车,回车,

然后呢,我们在这个方法里边儿,来写,把这段儿注释先删掉,
2.首先呢,当我在去点击它的时候,touchesBegan:

// 点击这个 view 的时候调用
- (void)touchesBegan:(NSSet< UITouch * > *)touches withEvent:(UIEvent *)event{
}
// 手指在这个 view 上移动的时候调用
- (void)touchesMoved:(NSSet< UITouch * > *)touches withEvent:(UIEvent *)event{
}

这两个方法,我们肯定是要有的,
然后呢,我们一步一步来说啊,首先呢,在我们的这个示例程序里面,当我点击这个view的时候,

这个view的center,这个view的中心,跑到我手指的位置上来了,没错儿吧,所以呢,点击这个view的时候,肯定会去调用这个方法,

所以呢,我们在这个方法里边儿去写,首先呢,我要最终目的,是要让这个center,跑到我手指的位置上来,那么,我肯定是要获取手指的位置,好,
3.手指的位置,怎么着来获取,
1)首先:获取那个Touch对象吗,对吧,通过它的那个locationInView:吗,才能够去拿到位置啊,
// 获取触摸对象
UITouch *t = touches.anyObject;

// 获取当前点的位置
CGPoint p = [t locationInView:(UIView *)view];

那,这个View,传什么,传self,还是self.superview,
self,是吧,


本文详细介绍了如何使用Objective-C编写一个简单的iOS应用,该应用允许用户通过单点触摸操作,使得View跟随手指移动。首先讲解了在`touchesBegan:`和`touchesMoved:`方法中如何获取和设置手指位置,接着通过计算偏移量在`touchesMoved:`中更新View的中心位置。最后,展示了如何扩展功能,使View仅在水平方向上移动。

2163

被折叠的 条评论
为什么被折叠?



