Objective c 我如何回应用户摇晃iPhone?
好的,为了继续使用Objective-C(我通常只是一个HTML PhoneGap的家伙),我制作了一个简单的Magic 8 ball应用程序。我现在就有了它,所以当我触摸屏幕时,球会“摇晃”并随机响应,然后把它放在标签上。我想做的是,当iPhone本身受到震动时,文本也会更新 这是我的主要观点。m:Objective c 我如何回应用户摇晃iPhone?,objective-c,cocoa-touch,ios,iphone-sdk-3.0,Objective C,Cocoa Touch,Ios,Iphone Sdk 3.0,好的,为了继续使用Objective-C(我通常只是一个HTML PhoneGap的家伙),我制作了一个简单的Magic 8 ball应用程序。我现在就有了它,所以当我触摸屏幕时,球会“摇晃”并随机响应,然后把它放在标签上。我想做的是,当iPhone本身受到震动时,文本也会更新 这是我的主要观点。m: #import "MainView.h" @implementation MainView - (void)motionEnded:(UIEventSubtype)motion withEve
#import "MainView.h"
@implementation MainView
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.type == UIEventSubtypeMotionShake) {
int rNumber = rand() % 26;
switch (rNumber) {
case 0:
shook.text = @"Never";
break;
....25 more entries.....
default:
break;
}
}
}
- (IBAction)yesNo {
[NSThread sleepForTimeInterval:0.75];
int rNumber = rand() % 26;
switch (rNumber) {
case 0:
result.text = @"Never";
break;
........
default:
break;
}
}
@end
还有我的主要观点
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
@interface MainView : UIView <UIAccelerometerDelegate> {
IBOutlet UILabel *result;
IBOutlet UILabel *shook;
}
- (IBAction)yesNo;
- (void)motionEnded;
@end
#导入
#进口
@接口主视图:UIView{
IBUILabel*结果;
IBUILABEL*震动;
}
-(i)是否;
-(无效)终止;
@结束
很明显这里面有个错误,我知道那么多,但在哪里 看来您需要更深入地阅读文档才能弄清这一点。特别是 从该文件中,我建议您尝试以下几点:
我希望这会有帮助。为什么这里明显有错误?休眠主线程是一个非常糟糕的主意。你为什么这么做?如果要延迟某些代码的执行,请改用
-performSelector:withObject:afterDelay:
。你还应该将随机测试代码重构成一个单独的方法,从两个地方调用。应用程序会崩溃吗?如果是这样,日志怎么说?它没有崩溃。。。震动根本不起作用。我会把睡眠时间改成你建议的。可能是重复的