如何将uibutton对象名称传递给函数以更改按钮图像?还是有另一种解决这个问题的方法?
我这样称呼我的功能(没有对象名称(。
如何将其更改以将Uibutton对象名称也传递给该函数?
flipImage(imageName: "myImage1")
我的功能:
func flipImage(imageName: String) {
// self.Picture.image = UIImage (named: imageName)
let image = UIImage(named: imageName)
btn1.setImage(image, for: .normal)
UIView.transition(with: btn1, duration: 0.3, options: .transitionFlipFromLeft, animations: nil, completion: nil)
}
我将功能更改为此。有"没有错误",但是如果这是正确的方法,我该如何调用函数?
func flipImage2(buttonName: UIButton, imageName: String) {
// self.Picture.image = UIImage (named: imageName)
let image = UIImage(named: imageName)
buttonName.setImage(image, for: .normal)
UIView.transition(with: buttonName, duration: 0.3, options: .transitionFlipFromLeft, animations: nil, completion: nil)
}
如何将uibutton对象名称传递给一个函数以更改按钮 图像?还是有另一种解决这个问题的方法?
等等,您是否想要一个与普通Uibutton不同的自定义UIBUTTON?因此,您确实有一个按钮的自定义图像吗?我建议你这个视频
https://www.youtube.com/watch?v=gAU3VE7T21M&t=217s
本视频中的方法很好(如果我当然正确地解决了您的问题,并且使用了故事板(基本上,它的作用是:
将您想要的图像放入Uiview
设置约束
向图像添加一个uigeSturercogniser
将"用户互动"设置为true(在故事板的右侧(
您将能够将图像链接为@ibaction,然后将图像链接到@iboutlet(或者您稍后无法更改(
通过在图像中添加@ibaction,您可以在识别定义的手势后实际上更改图像
假设您观看了视频,那么您将在代码中得到一些东西,例如
@IBAction func nameOfYourFunction (_ sender: Any) {
... }
那么您要做的只是在内部添加代码所以看起来像
@IBAction func nameOfYourFunction (_ sender: Any)
{
yourImageName.image = UIImage(named: "yourNewImageName")
// done
}
现在,假设您每次单击按钮时都想更改图像,然后您需要一个布尔值。这样做(观看视频之后(
import UIKit
var isTwitterSelected = false // this will be switched every time later in the code (when you'll be pressing the button)
@IBAction func shareOnTwitterPressed (_ sender: Any)
{
isTwitterSelected = !isTwitterSelected
twitterShareButton.image = isTwitterSelected ? UIImage(named: "twitter") : UIImage(named: "twitterUnSelected")
print("pressed twitter share button ")
}
希望我能够为您提供帮助,如果没有,我很抱歉