我想在一个方法中插入一个 NSTimer 延迟,并且想知道如何去做。我已经加粗了我想放置延迟计时器的位置。
到目前为止,这是我的代码:
- (void) buttonPressed:(UIButton*) sender {
for(int i = 0;i < [categoryBtnImages count]; i++)
{
UIButton *but = (UIButton *)[catButtonArray objectAtIndex:i];
if(but != sender)
{
[but setImage:[UIImage imageNamed:[categoryBtnImages objectAtIndex:i]] forState:UIControlStateNormal];
// but.selected = !but.selected;
}
}
buttonCat = (UIButton *)sender;
int tagOfButton = buttonCat.tag - 2;
if (tagOfButton == -2 ){
tagOfButton = 8;
}
[buttonCat setImage:[UIImage imageNamed:[categoryBtnImagesSel objectAtIndex:tagOfButton]] forState:UIControlStateNormal];
我想把延迟放在这里然后运行其余的代码,但都来自这个方法。
if ([sender.titleLabel.text isEqualToString:@"Button 0"]) {
[self foodCatSort:nil];
[self.tableView reloadData];
}
if ([sender.titleLabel.text isEqualToString:@"Button 1"]) {
[self healthCatSort:nil];
[self.tableView reloadData];
}
if ([sender.titleLabel.text isEqualToString:@"Button 2"]) {
[self shoppingCatSort:nil];
[self.tableView reloadData];
}
}
仅供参考,我想这样做的原因是因为按下了一个按钮,它重新加载了表格并且按钮状态图像发生了变化。我希望用户先看到 uibutton 图像更改,然后重新加载表格。我在想延迟会解决这个问题。