更新图像以响应按钮事件

时间:2012-01-05 23:35:38

标签: ios uiview uiviewcontroller uiimageview uibutton

我有一个带有几个按钮和一个ImageView的视图。我想在每次按下按钮时更改ImageView内的图像,并且每个按钮都会关联一个特定的图像。我还有一个在创建视图时分配的默认图像。

然而,当按下按钮时,为了让用户看到图像发生变化,我将reloadInputViews消息发送到主视图。这会导致默认图像保留在ImageView中,因为每次加载视图时它都会被设置。我在viewDidLoad中分配默认图像,我应该将其分配到其他地方吗?或者我有另一种方法来实现这个目标吗?

2 个答案:

答案 0 :(得分:2)

在每个按钮的操作方法 - (IBAction)中,更改imageView的图像属性:

self.myImageView.image = [UIImage imageNamed"yourImageName.png"];

无需重新加载整个视图...

答案 1 :(得分:0)

它无效,因为您的UIImageView可能不是第一个responder

  

<强> reloadInputViews
  当对象是第一响应者时,更新自定义输入和附件视图    - (void)reloadInputViews
  的讨论
  当第一响应者作为第一响应者时,您可以使用此方法刷新自定义输入视图或输入与当前对象关联的附件视图。视图会立即替换 - 也就是说,不会将它们设置为动画。 如果当前对象不是第一个响应者,则此方法无效

如果您没有看到更改,请使用UIView方法。

  

<强> setNeedsDisplay
  将接收者的整个边界矩形标记为需要重绘    - (void)setNeedsDisplay