如何在方法中强制视图多次重绘自身?

发布于 2024-10-28 04:43:22 字数 179 浏览 1 评论 0原文

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

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

I have a UIImageView whose image I want to change depending on user input. For example, the user clicks a button, after which the background image is swapped out for another image. The program blocks for a second or two, and then the new image is swapped out for the original image. The problem is, it seems that the view doesn't redraw itself until the method has returned, so that the middle UIImage is never displayed.

How can I override this behavior to get the UIImageView (or the view itself) to redraw itself in the middle of a method?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄凉少年不暖心 2024-11-04 04:43:22

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

它不应该阻止您的程序。

When user click, start a 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
}

It should not block your program.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文