我正在针对iOS 5.1版本进行开发,并使用故事板(storyboard)。我在一个UITableViewCell中有一个UIButton,当点击时会调用“Touch Up Inside”方法,调用一个Web服务,然后在完成处理程序中,通过调用一个设置所有按钮状态文本的函数来更新UIButton的文本,如下所示:
+(void) setButtonText:(NSString *)text forButton:(UIButton *)button
{
[button setTitle:text forState:UIControlStateNormal];
[button setTitle:text forState:UIControlStateDisabled];
[button setTitle:text forState:UIControlStateHighlighted];
[button setTitle:text forState:UIControlStateSelected];
}
如果你只是轻触按钮,它能很好地运作。但如果你长按并松开按钮,web服务调用和完成处理程序将立即被调用并返回,但接着需要大约5秒钟才能更新按钮上的文本。我已经尝试在按钮和self.view上调用setNeedsDisplay。你有什么办法可以让文本在长按+释放时立即更新吗?