【问题标题】:IBOutlet for image button not correctly referencing button after recreating outlet重新创建插座后,图像按钮的 IBOutlet 未正确引用按钮
【发布时间】:2016-08-29 10:49:25
【问题描述】:

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

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

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

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

这并没有做任何事情。在认为问题在于更改图像的代码后,我决定检查一些事情。

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

star1BackButtonReference.hidden = true 

这也没有做任何事情,所以我认为 IBOutlet 引用 star1BackButtonReference 存在问题,并且只找到了我更改/隐藏图像和引用的实例。

参考是这样的:

@IBOutlet var star1BackButtonReference: UIButton!

我检查了故事板上的引用插座,它们是正确的(一侧是视图控制器,另一侧是star1BackButtonReference)。

【问题讨论】:

    标签: ios swift uibutton iboutlet


    【解决方案1】:

    你在连接插座或删除旧插座时一定犯了一些错误。

    如果您要删除引用出口,那么您还必须从 connection inspector 中删除它的引用。

    因此,一旦删除该按钮的插座,然后从情节提要中选择该按钮并单击connection inspector,然后在connection inspector 中的referencing outlets 下的所有插座按x

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

    现在ctrl + drag 从您的按钮到您在助手编辑器中打开的相关viewcontroller 并会出现弹出窗口,请确保在connection 旁边选择outlet 并将其名称设置为您想要的任何名称,然后按connect。就是这样。现在试试这个新连接的插座。

    【讨论】:

    • 感谢您的回复。我试过了,但没有运气。没有错误,只是不会隐藏或更改图像。
    • 尝试设置背景和色调!!!!如果它有效,那么还有其他问题而不是出口!
    • 我不知道如何在图像按钮上做到这一点。虽然我做了 alpha,但没有任何效果。
    • 在你的star1BackButtonReference.setImage(UIImage(named: "starfull_48dp.png"), forState: 这一行,为什么你没有指定状态?
    猜你喜欢
    • 2015-06-28
    • 2016-11-10
    • 1970-01-01
    • 2016-10-17
    • 2013-02-08
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多