在进行方法的同时更改目标C中的按钮图像

时间:2011-04-16 05:29:52

标签: iphone objective-c image uibutton

我正在寻找有关更改UIButton图像的方法,因为方法在按下之后会进行,类似于进度条,但这只会更改按钮图像,并暂停查看图像,继续,更改按钮图像,暂停以查看新图像,继续,然后在最终图像上完成。我对Objective C有点新,所以任何提示都会非常感激。

5 个答案:

答案 0 :(得分:0)

您可以使用buttonType Custom(不是RoundRect)。并设置其BackgroundImage。在您正在谈论的那些方法中,只需更改BackgroundImage即可。

谢谢,

答案 1 :(得分:0)

在较高级别,您希望显示进度的方法需要从主线程执行(或UI不会更新)。设置完成后,您需要做的就是配置后台方法以在主线程上调用某个方法来报告其当前状态。然后,该主线程方法可以获取状态信息并应用您想要的任何UI更新。

所以重点是:

  • 任何长期存在的方法都需要在后台执行,以便UI可以继续更新。
  • 要跟踪进度,请定期从后台线程调用主线程。
  • 仅从主线程执行所有UI更新。

答案 2 :(得分:0)

[btn_h setImage:[UIImage imageNamed:@"img.png"] forState:UIControlStateNormal];

    [btn_h setImage:[UIImage imageNamed:@"img1.png"] forState:UIControlStateHighlighted];
    [btn_h setImage:[UIImage imageNamed:@"img2.png"] forState:UIControlStateSelected];

此致 Shyam parmar

答案 3 :(得分:0)

您可以使用Grand Central Dispatch在单独的线程上运行处理,然后使用主线程dispatch_sync来更新UI。这很容易做到,GCD非常快。

答案 4 :(得分:0)

要更改所选状态的图像,必须为状态UIControlStateSelected调用setImage。您可以为不同的状态设置单独的图像(正常,突出显示,禁用,选择等)。