2013-11-22 3 views
-1

У меня есть 10 UIButtons в UIViewController. Я хочу достичь: когда пользователь нажимает 4 кнопки (это может быть 4 разных кнопки или 2 кнопки, но всего 4 раза), он запускает определенный метод. Метод должен запускаться сразу после 4-го числа TouchUpInside Событие называется независимо от 4 различных кнопок или меньше. Он должен посчитать TouchUpInside с нескольких кнопок и запустить метод.UIButton TouchUpInside количество событий на конкретном ViewController

Любая помощь будет высоко оценена. Благодаря!

ответ

3

Необходимо создать простой счетчик !

Сначала создайте integer в заголовке, а затем создайте IBAction, которому вы назначаете каждую кнопку.

IBAction должен содержать что-то вроде этого:

-(IBAction)BtnTapped:(id)sender { 

    [self tappedBtn]; 
    [self checkNumber]; 
} 

, если вы не используете IB, а затем просто вставить эту строку кода в вашем viewDidLoad:

[yourBtn addTarget:self action:@selector(BtnTapped:) forControlEvents:UIControlEventTouchUpInside]; 

, чтобы получить число касаний высшее:

-(void)tappedEgg{ 
//currentValue is an int declared in the header file (look below) 
    currentValue = currentValue +1; 
    NSLog(@"%i",currentValue); 

} 

И для проверки номера:

-(void)checkNumber{ 

    if (currentValue == 4) { 
     NSLog(@"Reached 4"); 
     //Put in your action 
    } 
} 

в заголовочном файле ниже #import сделать:

int currentValue; 

Это должно сделать это!

Поздравления!

+0

Спасибо большое :) – farisolusa

+0

@farisolusa не забывайте повышать! ;) – MasterRazer

+0

Несомненно. Просто сделал это... – farisolusa

0

Добавляйте int ivar к контроллеру вашего вида и увеличивайте его на 1 при каждом нажатии кнопки. Кроме того, в обработчиках кранов проверьте текущий счетчик, и если он равен 4, вызовите ваш метод.

+0

Не могли бы вы объяснить это примерным кодом? – farisolusa

Смежные вопросы