3.2 通过对触摸事件的监测创建可随意拖动的图像视图 [iOS开发中的神兵利器]



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. 在图像的上方按下鼠标,然后向右下角拖动,图像将跟随鼠标移动。




本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

0