iOS之仿支付宝刮奖

现在在学swift,之前说要和大家分享的小demo就是这个了,demo本身很简单,由于初学swift,可能有些代码写的不够规范,也请大家多多指教。。。

先看看效果图吧


实现起来也很简单,ui上没什么好说了,注意的一点就是要将image的isUserInteractionEnabled勾打上。实现上是先声明一个变量,判断触摸的是否是需要响应触摸事件的View,然后就是利用UIView的触摸事件,下面是代码

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        for touch:AnyObject in touches {
            let t:UITouch = touch as! UITouch
            if t.view == myImage {
                isTouch = true;
            }
        }
    }
    
    override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
        
        if isTouch == true {
            
            for touch:AnyObject in touches {
                
                UIGraphicsBeginImageContext(myImage.frame.size)
                myImage.image?.draw(in: myImage.bounds)
                let t:UITouch = touch as! UITouch
                let point = t.location(in: t.view)
                let rect = CGRect(x:point.x - 10 ,y:point.y - 10, width: 20, height: 20)
                UIGraphicsGetCurrentContext()!.clear(rect)
                myImage.image = UIGraphicsGetImageFromCurrentImageContext()
                UIGraphicsEndImageContext()
            }
        }
    }
    
    override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
        isTouch = false
    }

是不是很简单,有不明白的也可以看Demo,欢迎大家Star.

版权声明:本文为 Crazy Steven 原创出品,欢迎转载,转载时请注明出处!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 嗯哼嗯哼蹦擦擦~~~ 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 ...
    philiha阅读 10,465评论 0 6
  • Python Django框架网站搭建入门 Django 中文文档 The Django Book
    残剑阅读 4,949评论 0 12
  • 自从很年轻时就从家乡苏北平原来到云南玉溪后,我就常常会不知不觉地想起家乡,想起家乡的田畴和河流,想起家乡的父老兄弟...
    Mr_稻香老农阅读 4,650评论 60 42
  • 首先感谢爸爸们点进来看;小编这两天被 0.45 版折磨的生无可恋,好难受,想哭 ...... 嘤嘤嘤 .........
    IT界的段子手阅读 5,472评论 15 8
  • 这两天开始着手学习kettle,以下作为学习过程笔记。 kettle源码下载: https://github.co...
    加来依蓝阅读 9,295评论 0 4

友情链接更多精彩内容