这是我的代码(在Swift 2中)创建我的UI按钮。
let SettingsBtn = UIButton(type: UIButtonType.System) as UIButton
SettingsBtn.frame = CGRect(x: 50, y: 50, width: 40, height: 40)
SettingsBtn.center = CGPoint(x: view.center.x * 1.8, y: view.center.y * 1.85)
SettingsBtn.setImage(UIImage(named: "Gear"), forState: UIControlState.Normal)
SettingsBtn.addTarget(self, action: Selector("Settings"), forControlEvents: UIControlEvents.TouchUpInside)
self.view?.addSubview(SettingsBtn)
在我的功能中我有这个:
PlayBtn.removeFromSuperview()
CharBtn.removeFromSuperview()
SettingsBtn.removeFromSuperview()
它会删除所有内容,但在转到Settings.Btn
时会向我发出错误。
不确定原因,可能是因为UI按钮的创建方式?我找到的用于创建带有自定义图像的按钮的按钮的代码I.
我的错误如下:
fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)
虽然我在班级之外定义了var SettingsBtn : UIButton!
;我的变量SettingsBtn
不会像其他变量一样突出显示。
答案 0 :(得分:0)
您的代码很难确定,但在我看来,您的SettingsBtn超出了范围。您是否也确定已将其添加到视图中?我会尝试在断点上放置一个断点:
self.view?.addSubview(SettingsBtn)
并检查视图是否可以解包或者是否为零。
也许您可以发布其余的代码,以便我们能够获得更清晰的图片?
答案 1 :(得分:0)
事实证明,既然我已经全局调用它,我可以删除let语句,它现在可以正常工作。