1. 本节课将为您演示,如何通过监听手势事件,使图片可以被自由拖动。首先点击项目导航栏中的资源文件夹,查看项目中已经导入的图片。
2. 您将给资源文件夹中的这张图片,添加拖动手势。
3. 然后在左侧的项目导航区,打开视图控制器的代码文件。
4. 现在开始编写代码,实现自由拖动图片的功能。
5. 给类添加一个属性,作为被拖动的图像视图。
6. 接着添加一个属性,用于判断图片是否被按下。
7. 从项目中加载图片资源。
8. 接着使用图像视图,显示加载的图片。
9. 然后将图像视图添加到根视图中。
10. 添加一个方法,用来监听手指按下时的事件。
11. 有可能是多个手指按下,这里获取第一个触摸对象。
12. 然后获得触摸对象的坐标。
13. 获得图像视图的显示区域。
14. 接着获得图像显示区域的左上角的坐标。
15. 然后获得图像显示区域的右下角的坐标。
16. 将触摸位置的坐标,和左上角以及右下角的坐标进行比较,从而判断触摸的位置是否位于图像的区域。
17. 当触摸在图像区域时,设置布尔属性的值为真,然后在控制台输出日志信息。
18. 接着添加一个方法,用来监听手指移动时的事件。
19. 判断当触摸位置不在图像区域时,不再执行后方的代码。
20. 获取第一个触摸对象。
21. 然后获得触摸对象的坐标。
22. 获得触摸对象在上一个位置时的坐标。
23. 接着计算两个坐标之间的偏移距离。
24. 获得图像视图的中心点的坐标。
25. 然后将该坐标和偏移距离相加,作为图像视图新的位置。
26. 刷新图像视图的中心点的坐标。
27. 添加一个方法,用来监听手指移动结束时的事件。当手指离开屏幕时,设置布尔属性的值为假。接着启动模拟器预览项目。
28. 在图像的上方按下手指,然后向右下角拖动,图像将跟随手指移动。
29. 最后点击此处的[停止]按钮,关闭模拟器,并结束本节课程。
本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载