我是IOS开发的新手,并且拥有一些java和Arduino编程经验。我正在研究一个简单的莫尔斯代码项目。如何跟踪iOS中按下按钮的时间?我是否只需要一个大循环来持续扫描按下按钮?
答案 0 :(得分:3)
我会做这样的事情:
向您的班级添加一个属性,以存储最新的触摸日期。最好是.m
- 文件中的类扩展名。
@interface YourViewController ()
@property (nonatomic, strong) NSDate *buttonTouchDownDate;
@end
以编程方式或使用界面构建器将按钮连接到Touch Down
和Touch Up Inside
控件事件。这是详细描述的here。
然后存储按下按钮的日期。当手指抬起时,计算存储日期与现在之间的时间间隔。
- (IBAction)buttonDidTouchDown:(id)sender
{
self.buttonTouchDownDate = [NSDate date];
}
- (IBAction)buttonDidTouchUp:(id)sender
{
// Will return a negative value, so we use the ABS-macro.
NSTimeInterval timeInterval = ABS([self.buttonTouchDownDate timeIntervalSinceNow]);
NSLog(@"Time interval: %f", timeInterval);
}
答案 1 :(得分:0)
你必须结合2个功能结果:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
你得到了开始时间。
并且
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if (self.touchInside) {
NSLog(@"TouchUpInside");
} else {
NSLog(@"TouchUpOutside");
}
}
如果touchupinside比你获得“endtime”并计算持续时间。