У меня есть кнопка и вы хотите автоматически ее запускать самостоятельно, без прикосновения. Возможно ли это?Fire IBAction автоматически
-(IBAction)xxx:(id)sender
У меня есть кнопка и вы хотите автоматически ее запускать самостоятельно, без прикосновения. Возможно ли это?Fire IBAction автоматически
-(IBAction)xxx:(id)sender
Мой ответ предполагает, что вы имеете метод:
- (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];
}
спасибо maddy :) :) – Dian007
Действие можно назвать как любая регулярная функция - вы можете сделать это, запустив таймер на что-то еще.
Можете ли вы просто дать мне пример кода ... я использую таймер его не работает – Dian007
Опубликуйте свой код таймера, и, возможно, кто-то может найти то, что вы с ним делаете. – Jim
Посмотрите: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Timers/Timers.html – duDE
Вы должны использовать NSTimer
для выполнения своей работы.
[NSTimer scheduledTimerWithTimeInterval: 0.01f target: self selector: @selector(BtoonMethod) userInfo: nil repeats: NO];
-(void)BtoonMethod
{
// write code for call yor button method
}
Зачем использовать таймер для его вызова один раз через 0,01 секунды? – rmaddy
Вы хотите «запустить огонь» сейчас, только один раз? Или вы хотите «запустить его» после некоторой задержки, только один раз? Или вы хотите запустить его повторно? Решение зависит от того, какой вы хотите. – rmaddy