ios - 图像按钮的 IBOutlet 在重新创建 socket 后未正确引用按钮

标签 ios swift uibutton iboutlet

我有一个带有图像的自定义按钮。为此,我有一个 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/

相关文章:

swift - 如何在 SpriteKit 的自上而下 View 中检测游戏结束无尽的 runner 游戏

ios - 将 JSON 转换为 swift 对象的最佳方法是什么,同时检查键和值

objective-c - 如何检查对象是否为 UIButton

ios - Swift:如何从 firebase 检索数据?

ios - 在 TableView 中删除或重新排序单元格时的动画

ios - 具有估计高度的 Collection View 组合布局不起作用

iOS - 无法获取标注中按钮的 DetailDisclosure

ios - 索引超出范围数据 nil swift 3

ios - TableView 调整大小问题

ios - 如何设置 UIButton 背景颜色 forState : UIControlState. 在 Swift 中突出显示