我有一个带有几个按钮和一个ImageView的视图。我想在每次按下按钮时更改ImageView内的图像,并且每个按钮都会关联一个特定的图像。我还有一个在创建视图时分配的默认图像。
然而,当按下按钮时,为了让用户看到图像发生变化,我将reloadInputViews
消息发送到主视图。这会导致默认图像保留在ImageView中,因为每次加载视图时它都会被设置。我在viewDidLoad
中分配默认图像,我应该将其分配到其他地方吗?或者我有另一种方法来实现这个目标吗?
答案 0 :(得分:2)
在每个按钮的操作方法 - (IBAction)中,更改imageView的图像属性:
self.myImageView.image = [UIImage imageNamed"yourImageName.png"];
无需重新加载整个视图...
答案 1 :(得分:0)
它无效,因为您的UIImageView可能不是第一个responder
<强> reloadInputViews 强>
当对象是第一响应者时,更新自定义输入和附件视图 - (void)reloadInputViews
的讨论强>
当第一响应者作为第一响应者时,您可以使用此方法刷新自定义输入视图或输入与当前对象关联的附件视图。视图会立即替换 - 也就是说,不会将它们设置为动画。 如果当前对象不是第一个响应者,则此方法无效。
如果您没有看到更改,请使用UIView方法。
<强> setNeedsDisplay 强>
将接收者的整个边界矩形标记为需要重绘 - (void)setNeedsDisplay