我有一个带有图像的自定义按钮。为此,我有一个 IBOutlet 可以在 viewcontroller.swift 文件中引用它。
按钮工作正常,但连接到错误的 socket 。我删除了该按钮和所有类似按钮的所有 socket 和操作,然后重新制作它们。那时他们停止了工作。
我首先尝试使用以下代码更改按钮的图像:
star1BackButtonReference.setImage(UIImage(named: "starfull_48dp.png"), forState:
这没有做任何事情。在认为问题出在更改图像的代码上之后,我决定检查一些东西。
所以我试着像这样隐藏按钮:
star1BackButtonReference.hidden = true
这也没有做任何事情,所以我认为 IBOutlet 引用 star1BackButtonReference 有问题,并且只找到了我更改/隐藏图像和引用的实例。
引用是这样的:
@IBOutlet var star1BackButtonReference: UIButton!
我检查了 Storyboard 上的引用 socket ,它们是正确的(一侧是 viewcontroller,另一侧是 star1BackButtonReference)。
最佳答案
一定是你在连接 socket 或删除旧 socket 时犯了一些错误。
如果您要删除引用 socket ,那么您还必须从 connection inspector
中删除它的引用。
因此,一旦删除该按钮的导出,然后从 Storyboard 中选择该按钮并单击 connection inspector
,然后为 下的所有导出按
。x
>在 connection inspector
中引用 outlets
最后,您从代码中删除了 IBOutlet
并关闭了它的连接。
现在 ctrl + drag
从你的按钮到你相关的 viewcontroller
在助手编辑器中打开,弹出窗口会出现,确保 outlet
被选中在 connection
旁边并根据需要设置它的名称,然后按 connect
。就是这样。现在尝试使用这个新连接的 socket 。
关于ios - 图像按钮的 IBOutlet 在重新创建 socket 后未正确引用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39204422/