我已经实现了风格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?
使用self.navigationItem.rightBarButtonItem.title属性来更改栏按钮的标题 – DShah
经过我更新的答案... – DShah