图像按钮的IBOutlet在重新创建outlet后没有正确引用按钮



我有一个带有image的自定义按钮。为此,我在viewcontroller.swift文件中有一个IBOutlet来引用它。

按钮正常工作,但连接到错误的插座。我删除了该按钮和所有类似按钮的所有outlet和动作,然后重新制作它们。这时他们停止了工作。

我首先尝试用以下代码更改按钮的图像:

star1BackButtonReference.setImage(UIImage(named: "starfull_48dp.png"), forState: 

这没有任何作用。在考虑问题是与代码更改图像后,我决定检查几件事。

所以我试着像这样隐藏按钮:

star1BackButtonReference.hidden = true 

这也没有做任何事情,所以我认为IBOutlet引用star1BackButtonReference有问题,只发现我更改/隐藏图像和引用的实例。

引用是这样的:

@IBOutlet var star1BackButtonReference: UIButton!

我检查了storyboard上的引用出口,它们是正确的(一边是viewcontroller另一边是star1BackButtonReference)。

您一定是在连接插座或删除旧插座时出错了。

如果你要删除引用outlet,那么你必须从connection inspector中删除它的引用。

因此,一旦删除该按钮的出口,然后从storyboard中选择该按钮,然后单击connection inspector,然后按xconnection inspector中的referencing outlets下的所有出口。

所以,最后你已经从代码中删除了IBOutlet,并关闭了它的连接。

现在ctrl + drag从你的按钮到你相关的viewcontroller在助理编辑器中打开,弹出窗口将出现,确保outlet被选中在connection旁边,并设置它的名称,无论你想要什么,然后按connect。就是这样。

最新更新