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

29. 最后点击此处的[停止]按钮,关闭模拟器,并结束本节课程。

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

apps8 2.png

推荐阅读更多精彩内容

  • 原文链接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影阅读 29,241评论 6 466
  • 本节介绍各种常见的浏览器事件。 鼠标事件 鼠标事件指与鼠标相关的事件,主要有以下一些。 click 事件,dblc...
    许先生__阅读 818评论 0 3
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 37,250评论 22 617
  • 什么是好的文学语言 我是服膺俄国文艺家什克洛夫斯基、罗曼•雅各布森的陌生化理论,“艺术之所以存在,就是为使人恢复对...
    木卯丁阅读 80评论 0 1
  • 那判官见桌案底下跪着的小鬼,年纪轻轻至多不过十四岁。翻开生死薄一看,青面狰狞一瞪,怒斥道“生死有命,你寻死作甚!”...
    沉肃阅读 138评论 0 3