【问题标题】:Updating Images in Response to Button Events更新图像以响应按钮事件
【发布时间】:2012-02-03 19:23:27
【问题描述】:

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

但是,当按下按钮时,为了让用户看到图像的变化,我将reloadInputViews 消息发送到主视图。这会导致默认图像保留在 ImageView 中,因为每次加载视图时都会设置它。我在viewDidLoad 中分配了默认图像,我应该在其他地方分配它吗?或者我有其他方法可以做到这一点吗?

【问题讨论】:

    标签: ios uiview uiviewcontroller uiimageview uibutton


    【解决方案1】:

    它不起作用,因为您的 UIImageView 可能不是第一个 responder

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

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

    setNeedsDisplay
    将接收方的整个边界矩形标记为需要重绘。
    - (void)setNeedsDisplay

    【讨论】:

    • 我试过了,但没有用。我应该先将某些东西设置为第一响应者吗?
    • @AndrewBarinow 你是如何设置新图像的?
    • 我有一个 NSString 对象数组作为视图控制器的属性,还有一个 NSString 代表当前图像。我使用该字符串和数组中的特定索引在图像视图中设置图像。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多