0

正如标题所暗示的那样,我试图弄清楚如何在按钮获得一定数量的点击后显示警报。到目前为止,我想出了

- (IBAction)count:(id)sender {

{
    UITouch *touch = [count];
    if (touch.tapCount == 4)
    {
}
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"My alert text here" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];

[alert show];

 }

}

以上不起作用,我已将我的按钮设置count为操作和插座counted

4

2 回答 2

2

该代码没有多大意义(我很惊讶它可以编译,是吗?)。UITouch 不是您选择按钮的一部分。我认为您需要做的是记录按下按钮的次数,并将其存储为实例变量。

例如(在您的实现中):

@interface ClassName() {
    NSUInteger m_buttonTouchCount;
}
@end

// Set m_buttonTouchCount to 0 in your init/appear method, whenever it's appropriate to reset it

- (IBAction)count:(id)sender {
{
    m_touchButtonCount++
    if (m_touchButtonCount == 4)
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" 
                                                        message:@"My alert text here" 
                                                       delegate:nil
                                              cancelButtonTitle:@"Ok" 
                                              otherButtonTitles:nil];
        [alert show];
        m_touchButtonCount = 0; // Not sure if you want to reset to 0 here.
    }
 }
于 2012-10-27T22:07:42.880 回答
0

在代码静态值的开头某处定义:

static int numberTouches;

并设置在某处(在 viewWillAppear 中):

numberTouches = 0;

比:

- (IBAction)count:(id)sender {
{
    numberTouches++;
    if(numberTouches == 4)
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"My alert text here" delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];
        [alert show];
    }
} 

请记住将 0 设置为您想要执行此操作的地方的 numberTouches,例如在 viewDidDissapear 中,或者如果用户在其他地方录制。

于 2012-10-27T22:08:04.930 回答