2013-03-10 3 views
1

У меня есть кнопка и вы хотите автоматически ее запускать самостоятельно, без прикосновения. Возможно ли это?Fire IBAction автоматически

-(IBAction)xxx:(id)sender 
+0

Вы хотите «запустить огонь» сейчас, только один раз? Или вы хотите «запустить его» после некоторой задержки, только один раз? Или вы хотите запустить его повторно? Решение зависит от того, какой вы хотите. – rmaddy

ответ

3

Мой ответ предполагает, что вы имеете метод:

- (IBAction)someAction:(UIButton *)sender { 
} 

и что у вас есть ссылка на эту кнопку в переменной экземпляра с именем someButton.

Если вам просто нужно «стрелять» сейчас называют это просто:

[self someAction:someButton]; 

Если вам нужно «выстрелить» сразу, а позже, вы можете сделать:

// call it 5 seconds from now 
[self performSelector:@selector(someAction:) withObject:someButton afterDelay:5.0]; 

Если вы хотите периодически его запускать, используйте таймер:

myTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(buttonTimerFired) userInfo:nil repeats:YES]; 

- (void)buttonTimerFired { 
    [self someAction:someButton]; 
} 
+0

спасибо maddy :) :) – Dian007

2

Действие можно назвать как любая регулярная функция - вы можете сделать это, запустив таймер на что-то еще.

+0

Можете ли вы просто дать мне пример кода ... я использую таймер его не работает – Dian007

+0

Опубликуйте свой код таймера, и, возможно, кто-то может найти то, что вы с ним делаете. – Jim

+0

Посмотрите: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Timers/Timers.html – duDE

0

Вы должны использовать NSTimer для выполнения своей работы.

[NSTimer scheduledTimerWithTimeInterval: 0.01f target: self selector: @selector(BtoonMethod) userInfo: nil repeats: NO]; 

-(void)BtoonMethod 
{ 
    // write code for call yor button method 

} 
+0

Зачем использовать таймер для его вызова один раз через 0,01 секунды? – rmaddy

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