我想通过单击按钮来更改 UIButton 和 UIImage 视图。但是 UIButton 和 Image 视图的图像是不同的[重复]

Posted

技术标签:

【中文标题】我想通过单击按钮来更改 UIButton 和 UIImage 视图。但是 UIButton 和 Image 视图的图像是不同的[重复]【英文标题】:i want to change UIButton and UIImage view by clicking on a button. But images for UIButton and Image view are different [duplicate] 【发布时间】:2017-07-08 19:52:48 【问题描述】:

您好,我是 Swift 新手(Swift 3、Xcode 8)。 我想通过单击按钮来更改 UIButton 和 UIImage 视图。但是 UIButton 和 Image 视图的图像是不同的。基本上我有一个按钮和一个图像视图。我想要的是单击按钮并更改图像视图,但同时按钮也应该更改(按钮图像与图像不同)。

我试过了

IBAction func testButton(_ sender: UIButton) 

    self.testCircle = (self.testCircle >= self.circleArray.count-1) ? 0 : self.carbsCircle+1

        self.testImage.image = UIImage(named:circleArray[testCircle])

但是在这里它们来自同一个数组,但是如果我对图像使用不同的数组,我什么也得不到。

我该怎么做?非常感谢你们。

【问题讨论】:

【参考方案1】:

我希望你的问题是正确的。您有一个带有图像的按钮和一个图像视图。 2 分开的东西。你想改变你的图像。

如果您想通过单击更改按钮图像,您不仅应该拥有 IBAction,还应该拥有该按钮的 IBOutlet。控制拖动并为其创建一个出口。在按钮的 IBAction 函数中,只需将按钮的图像更改为您想要的,以及您的图像视图。

【讨论】:

感谢您的回复。是的,你做对了。所以基本上。我有一个按钮,我有一个单独的图像视图。通过单击按钮,我想更改图像视图和按钮本身。但是当我为按钮创建插座时,如何在代码中访问其图像以将其传递给 IBAction? 在您的 IBAction 函数中尝试访问您的 IBOutlet。像:button.imageView.image p.s.大书呆子牧场有一本关于 ios 编程的好书。你应该阅读它。它帮助了我:D【参考方案2】:

为您的按钮设置一个目标,例如您已有的 IBAction:

func testButton(_ sender: UIButton)

然后,您需要一个 IBOutlet(或某种引用)来指向您想要更改的 imageView。当调用 testButton 时,更新两者上的图像。您还需要一个变量来跟踪呈现图像的当前状态,以便知道要更改为哪个图像。

【讨论】:

以上是关于我想通过单击按钮来更改 UIButton 和 UIImage 视图。但是 UIButton 和 Image 视图的图像是不同的[重复]的主要内容,如果未能解决你的问题,请参考以下文章

UIButton 背景图像从另一个按钮更改

单击时更改 UIButton 文本

点击时如何更改 UIButton 的标题颜色? [复制]

UIButton 子类不响应超级方法?

如何通过统一单击UI按钮来传递值

jQuery UI 日期选择器 - 通过单击另一个按钮更改范围