因此,我有一个IBAction yesNo
,希望在震动事件中运行。不太清楚为什么这不起作用。遵循了所有文档。
-(BOOL)canBecomeFirstResponder
{
return YES;
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (event.subtype == UIEventSubtypeMotionShake)
{
[self yesNo];
}
}
然后,IBAction本身:
- (IBAction)yesNo
{
int rNumber = rand() % 26;
NSUserDefaults *def=[NSUserDefaults standardUserDefaults];
if ([[def objectForKey:@"activeVersion"] isEqualToString:@"0"])
{
switch (rNumber) {
case 0:
result.text = @"Never";
break;
case 1:
result.text = @"If you're lucky...";
break;
case 3:
result.text = @"Think twice";
break;
...
default:
break;
}
}
else if ([[def objectForKey:@"activeVersion"] isEqualToString:@"1"])
{
switch (rNumber) {
case 0:
result.text = @"Never1";
break;
case 1:
result.text = @"If you're lucky...1";
break;
...
case 25:
result.text = @"Very doubtful2";
break;
default:
break;
}
}
else if ([[def objectForKey:@"activeVersion"] isEqualToString:@"3"])
{
switch (rNumber) {
case 0:
result.text = @"Never3";
break;
...
case 25:
result.text = @"Very doubtful3";
break;
default:
break;
}
}
}
基本上,我拥有的是算命球类型的东西,当iPhone摇动时,我需要运行IBAction。
最佳答案
您是否已将该观点视为第一响应者?即[yourView becomeFirstResponder];
(可能来自某种viewDidAppear:
方法)。
摇动设备时,您可能需要检查它是否真的是第一响应者。
关于iphone - 摇一摇…iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6366542/