好吧,为了开始使用Objective-C(我通常只是一个HTML PhoneGap有点人),我制作了一个简单的Magic 8球应用程序。我现在已经知道了,所以当我触摸屏幕时,球会“摇晃”并随机响应并将其放入标签中。我想要做的是当iPhone本身被震动时,文本也会更新。
这是我的MainView.m:
#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
和我的MainView.h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
@interface MainView : UIView <UIAccelerometerDelegate> {
IBOutlet UILabel *result;
IBOutlet UILabel *shook;
}
- (IBAction)yesNo;
- (void)motionEnded;
@end
显然那里有一个错误,我知道的很多,但在哪里?!
答案 0 :(得分:1)
看起来您需要更深入地阅读文档以深入了解这一点。特别是iOS Event Handling Guide。
从那份文件中我建议你尝试一些事情:
查看UIResponder Class Reference(UIViewController继承的内容),了解有关覆盖方法的更多详细信息。
作为从Microsoft / VB / .NET和Android / Java背景到Cocoa / Objective-C编程的人,我强烈建议您花时间阅读文档。最初,Apple文档似乎难以理解,但它们实际上非常好!
我希望有所帮助。