码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发——高级技术&摇一摇功能的实现

时间:2015-06-24 20:58:54      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:

摇一摇功能的实现

 

在AppStore中多样化功能越来越多的被使用了,所以今天就开始介绍一些iOS开发的比较实用,但是我们接触的比较少的功能,我们先从摇一摇功能开始

在 UIResponder中存在这么一套方法
1  - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
2  
3  - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
4  - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
这就是执行摇一摇的方法。那么怎么用这些方法呢?
很简单,你只需要让这个Controller本身支持摇动
同时让他成为第一相应者:
 1 - (void)viewDidLoad
 2 
 3 
 4 {
 5 
 6 
 7     [superviewDidLoad];
 8 
 9 
10 // Do any additional setup after loading the view, typically from a
11 nib.
12 
13 
14     [[UIApplicationsharedApplication]
15 setApplicationSupportsShakeToEdit:YES];
16 
17 
18 [self
19 
20 
21 becomeFirstResponder];
22 
23 
24 }

 

然后去实现那几个方法就可以了
 1 - (void) motionBegan:(UIEventSubtype)motion
 2 withEvent:(UIEvent
 3 
 4 
 5 *)event
 6 
 7 
 8 {
 9 
10 
11     //检测到摇动
12 
13 
14 }
15 
16 
17 - (void) motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent
18 *)event
19 
20 
21 {
22 
23 
24     //摇动取消
25 
26 
27 }
28  
29 
30 
31 - (void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent
32 *)event
33  
34 
35 
36 {
37 
38 
39     //摇动结束
40 
41 
42     if
43 (event.subtype == UIEventSubtypeMotionShake) {
44 
45 
46         //something
47 happens
48  
49 
50 
51     }
52 
53 
54 }

 

下面我们开始简单的使用它:
 
我们只要在控制器里面实现下面代码就可以实现摇一摇功能
 1 - (void)viewDidAppear:(BOOL)animated
 2 {
 3     [super viewDidAppear:animated];
 4     [self becomeFirstResponder];
 5 }
 6 - (void) viewWillAppear:(BOOL)animated
 7 {
 8     [self resignFirstResponder];
 9     [super viewWillAppear:animated];    
10 }
11 -(BOOL)canBecomeFirstResponder 
12 {
13     return YES;
14 }
15 - (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
16 {
17 
18     if (motion == UIEventSubtypeMotionShake) {
19         NSLog(@"摇一摇"); 
20     }    
21 }

 

另外值得一提的是,在模拟器中运行时,可以通过「Hardware」-「Shake Gesture」来测试「摇一摇」功能。

技术分享

 
 

iOS开发——高级技术&摇一摇功能的实现

标签:

原文地址:http://www.cnblogs.com/iCocos/p/4598522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!