gpt4 book ai didi

Swift:无法以编程方式设置 UIButton 图像,出现错误: 'NSString' 不是 'UIImage' 的子类型

转载 作者:行者123 更新时间:2023-11-28 10:25:47 24 4
gpt4 key购买 nike

我正在尝试以编程方式设置按钮图像,除了我之外似乎没有人对此有任何问题。

我的代码:

func moreOptionsKeyMap(){
for x in self.mainView.subviews as [UIButton]
{
let image = UIImage(named: "\(numberImages[0])") as UIImage
if x.tag == 0 {
x.setImage(UIImage (named: image), forState: .Normal)
}

}
}

我尝试直接插入图像名称(这是抛出错误的行)

x.setImage(UIImage (named: "1Key.png"), forState: .Normal)

但我一直收到同样的错误。

我在 Stackoverflow 上找到了一个答案,说解决方案是:

let image = UIImage(named: "name") as UIImage
let button = UIButton.buttonWithType(UIButtonType.System) as UIButton
button.setImage(image, forState: .Normal)

而且每个人都说效果很好,所以我无法想象我的问题出在哪里。

我正在制作键盘,所以我在 Interface Builder 中设置了按钮,然后在我的 viewDidLoad 中设置了按钮

for v in self.mainView.subviews as [UIButton]
{
v.addTarget(self, action: "buttonPressed:", forControlEvents: UIControlEvents.TouchUpInside)
}

然后在 buttonPressed 方法中我有一个调用 moreOptionsKeyMap() 的开关

最佳答案

乍一看,我会在这里说:

x.setImage(UIImage (named: image), forState: .Normal)

您传递的是 image,这是一个 UIImage,而应该是一个字符串。

我认为你必须转动这条线:

let image = UIImage(named: "\(numberImages[0])") as UIImage

进入:

let image = "\(numberImages[0])"

所以你的方法应该是这样的:

func moreOptionsKeyMap() {
for x in self.mainView.subviews as [UIButton]
{
let image = "\(numberImages[0])"
if x.tag == 0 {
x.setImage(UIImage (named: image), forState: .Normal)
}
}
}

关于Swift:无法以编程方式设置 UIButton 图像,出现错误: 'NSString' 不是 'UIImage' 的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26168566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com