我有一个带有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
,然后按x
为connection inspector
中的referencing outlets
下的所有出口。
所以,最后你已经从代码中删除了IBOutlet
,并关闭了它的连接。
现在ctrl + drag
从你的按钮到你相关的viewcontroller
在助理编辑器中打开,弹出窗口将出现,确保outlet
被选中在connection
旁边,并设置它的名称,无论你想要什么,然后按connect
。就是这样。