Я реализовал кнопку обновления в стиле UIBarSystemItem, которая будет отключаться на 10 секунд при каждом ее нажатии.
Я хочу еще больше улучшить ее, показывая оставшееся до включения время.Какой самый быстрый способ сделать это?
Большое спасибо заранее.
Вызывается при каждом нажатии кнопки.
-(void)refreshButton {
[self performSelector:@selector(enableRefreshButton) withObject:nil afterDelay:10];
self.navigationItem.rightBarButtonItem.enabled = NO;
}
-(void)enableRefreshButton {
self.navigationItem.rightBarButtonItem.enabled = YES;
}
РЕДАКТИРОВАТЬ: кнопка обновления имеет стиль UIBARSystemItemRefresh .
В настоящее время я делаю это какответ предполагает, что я использую NSTimer.Кнопка действительно включается и отключается соответственно, но текст не меняется.
@inteface ... {
int count;
}
-(void)viewDidLoad{
UIBarButtonItem *refresh = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refreshButtonPressed)];
self.navigationItem.rightBarButtonItem = refresh;
}
-(void)refreshButtonPressed {
//do something here...
count = 10;
self.myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTimeLeft) userInfo:nil repeats:YES];
}
-(void)updateTimeLeft{
count --;
NSLog(@"%i", count);
self.navigationItem.rightBarButtonItem.title = [NSString stringWithFormat:@"%i", count];
self.navigationItem.rightBarButtonItem.enabled = NO;
if (count == 0) {
self.navigationItem.rightBarButtonItem.enabled = YES;
[self.myTimer invalidate];
}
}
Могу ли я использовать свойство title
с UIBarButtonSystemItem?