iOS[swift] 模拟摩拜单车APP 地图覆盖物动画特效

效果图:

33.gif

废话不多说直接上代码:

class ViewController: UIViewController {
    
    var mView = UIView(frame: CGRect(x: 100, y: 200, width: 100, height: 100))

    override func viewDidLoad() {
        super.viewDidLoad()
        mView.backgroundColor = UIColor.red
        self.view.addSubview(mView)
    }
    
    /**
     在点击屏幕方法中模拟这个效果
     */
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        UIView.animate(withDuration: 0.8, delay: 0.0, usingSpringWithDamping: 0.5, initialSpringVelocity: 0.5, options: UIViewAnimationOptions.curveEaseInOut, animations: {[unowned self] in
            self.mView.transform = CGAffineTransform(scaleX: 1.5, y: 1.5)
            self.mView.center.y -= 10
        }) { [unowned self](true) in
            // Tips: 下面这两行代码是为了恢复原状 但是膜拜单车中地图覆盖物的效果是没有恢复原状的 因为重新加载地图覆盖物会移除掉旧的覆盖物 所以不必担心覆盖物会一直往上移或者说覆盖物只会变大一次之后第二次就没有效果 ^_^!
            self.mView.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
            self.mView.center.y += 10
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,270评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 依旧是每天临睡前刷下微博,然后就刷到了“阿兰喵 离婚”这个话题。 我其实对于阿兰喵并不熟悉,只不过很是好奇,在满屏...
    漠郴江阅读 15,334评论 0 1
  • 从陆大神开天辟地后,千万年逝。 此时魔界首领兔崽子觉其领地甚小,便去神界与各神谈判,企图使各神分其领地予兔崽子也。...
    陆大神阅读 196评论 2 0
  • 牙疼,浑身疼,还是睡不着,努力无效!深夜与疼痛做斗争!深夜深思什么是幸福,给自己来篇心灵鸡汤吧! 什么...
    阿娟1979阅读 181评论 2 3