【问题标题】:How Do I Force a View to Redraw Itself Several Times Within a Method?如何强制视图在方法内多次重绘自身?
【发布时间】:2011-03-30 10:10:37
【问题描述】:

我有一个 UIImageView,我想根据用户输入更改其图像。例如,用户单击一个按钮,然后背景图像被替换为另一个图像。程序会阻塞一两秒钟,然后将新图像换成原始图像。问题是,在方法返回之前,视图似乎不会重绘自身,因此中间的 UIImage 永远不会显示。

如何覆盖此行为以使 UIImageView(或视图本身)在方法中间重绘自身?

【问题讨论】:

  • 我完全不明白你需要什么。您想要的行为是:用户单击某处,更改图像,稍等,将图像重新更改为原始图像?在重新更改图像之前,您的程序会被阻止一秒钟。是这样吗?
  • 就是这样。我知道在这种情况下使用图像可能不是最理想的,但我现在坚持这样做。

标签: iphone objective-c xcode uiview uiimageview


【解决方案1】:

当用户点击时,启动一个 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
}

它不应该阻止你的程序。

【讨论】:

    猜你喜欢
    • 2011-10-19
    • 1970-01-01
    • 2016-09-10
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多