2011-03-30 245 views
0

我有一个UIImageView的图像,我想根据用户输入进行更改。例如,用户点击一个按钮,然后将背景图像换出另一个图像。程序会阻塞一两秒钟,然后将新图像换出原始图像。问题是,在该方法返回之前,视图似乎不会自行重绘,所以中间的UIImage从不显示。如何强制视图在方法内重绘几次?

我该如何重写此行为以获取UIImageView(或视图本身)在方法中重绘本身?

+0

我完全不明白你需要什么。你想要的行为是:用户点击某处,更改图像,等待一秒钟,将图像更改为原始图像?在更换图像之前,您的程序会被阻塞一秒钟。是那个吗 ? – klefevre 2011-03-30 10:17:07

+0

就是这样。我知道在这种情况下使用图像可能不是最理想的,但我坚持现在就这样做。 – Dan 2011-03-30 10:20:29

回答

0

当用户点击,开始的NSTimer:

- (IBAction)btnTouched:(id)sender 
{ 
    [NSTimer scheduledTimerWithTimeInterval:_YOUR_TIME_ 
            target:self 
            selector:@selector(timerFinished:) 
            userInfo:nil 
            repeats:NO]; 
} 

- (void)timerFinished:(NSTimer *)timer 
{ 
    // Change your image 
} 

它不应该阻止你的程序。