swift UI专项训练39 用Swift实现摇一摇功能

swift UI专项训练39 用Swift实现摇一摇功能,第1张

概述   微信的摇一摇功能想必大家都用过,过年的时候抢红包也没少摇吧,那么用swift语言如何实现这么酷炫的功能呢。摇动属于IOS内置可识别的一种动作,在你需要实现摇动功能的viewcontroller中,在viewDidLoad方法中加入以下代码: UIApplication.sharedApplication().applicationSupportsShakeToEdit = true

微信的摇一摇功能想必大家都用过,过年的时候抢红包也没少摇吧,那么用swift语言如何实现这么酷炫的功能呢。摇动属于IOS内置可识别的一种动作,在你需要实现摇动功能的vIEwcontroller中,在vIEwDIDLoad方法中加入以下代码:

UIApplication.sharedApplication().applicationSupportsShaketoEdit = true        self.becomeFirstResponder()

第一句是要求当前页面支持对摇动事件可编辑的支持,设置为true后我们可以实现相应的方法,稍后会介绍。

第二句是把当前页面作为第一反应者,也就说我们有任何 *** 作结果都会反映到当前页面中。

现在我们可以使用与摇动相关的方法了,主要有三个:motionBegin、motionEnded、motionCancelled。

分别捕获摇动开始、摇动结束和摇动取消三个动作。我们选用motionEnded来举例:

overrIDe func motionEnded(motion: UIEventSubtype,withEvent event: UIEvent) {        if motion == UIEventSubtype.MotionShake        {        var alertController1 = UIAlertController(Title: "恭喜你,成功了!",message: nil,preferredStyle: .Alert)            var cancelAction = UIAlertAction(Title: "取消",style: .Cancel,handler: nil)            alertController1.addAction(cancelAction)              self.presentVIEwController(alertController1,animated: true,completion: nil)        }    }

这个方法是在motion结束的时候判断,如果刚才的motion是摇动的话,那么d出一个警告框,提示“恭喜你,成功了!”,下面我们用我最近在做的一个APP来测试下,这是摇动前的画面:


然后我们摇动手机,看看效果:



你可以在这三个方法中加入自己需要的代码,实现更丰富的功能。

最后再说一点,看网上之前的资料说需要增加方法,因为大部分vIEw不支持firstresponder:

overrIDe func canBecomeFirstResponder() -> Bool {        return true    }
可能这是以前的版本了,我用的是xcode6.2正式版,亲测是不需要加这个方法的。 总结

以上是内存溢出为你收集整理的swift UI专项训练39 用Swift实现摇一摇功能全部内容,希望文章能够帮你解决swift UI专项训练39 用Swift实现摇一摇功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1088606.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存