0

在使用 UIAlertView 之前,有没有一种简单的方法可以设置一段代码来检查一定数量的按下,

例如,

如果 IBAction 已经被按下了 30 次,那么我们想显示一个 UIAlertView,我可以做 Alert,只是计算如何计算 30 次按下?

多亏了你们,我已经走得更远了,这是代码,我在这里使用 count 作为 int;

它有效,但目的是如果用户购买了升级,那么计数将被忽略......目前,即使用户升级,他们仍然会在每 30 次按下时获得 UIAlert

- (IBAction)setRandomText {

    selectedRecNumber = (arc4random() % kMaxRecords);
    NSString *text = [allText objectAtIndex:selectedRecNumber];
   [randomText setText:text];
    count++;

    if (![MKStoreManager featureBPurchased] ) {

        if(count == 30)
        {
            count = 0;

        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Limit" message:@"Reached the Limit!" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"OK",nil];
        [alert show];
        [alert release];


    }else{

    }
}

}

--- 编辑使用此方法修复;

   if (kMaxRecords == 35) {

            if(count == 30)
            {
                count = 0;

}else{

}

}
4

2 回答 2

1

你可以很容易地自己计算。
只需创建一个int变量,然后在用户每次按下按钮时递增它。
还要检查数字是否大于或等于 30,如果是,则重置它并显示 UIAlertView。

这是一些伪代码。

@interface YourClass : ParentClass {
   int numberOfPresses = 0;
}
@end

@implementation YourClass
-(IBAction)buttonPressed:(id)sender {
   numberOfPresses += 1;
   if (numberOfPresses >= 30) {
      numberOfPresses = 0;
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Your Alert" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
      [alert show];
   }
}
@end
于 2013-07-23T23:20:11.117 回答
0

最简单的方法是在方法中使用一个静态变量来计算印刷机:

-(IBAction)buttonPressed:(id)sender
{
    static NSUInteger presses = 0;

    presses++;

    if(presses == 30)
    {
        presses = 0;

        [[[UIAlertView alloc] initWithTitle:@"" message:@"" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil] show];
    }
}
于 2013-07-23T23:22:41.930 回答