我想通过单击按钮来更改 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 视图的图像是不同的[重复]的主要内容,如果未能解决你的问题,请参考以下文章