【发布时间】:2019-07-11 05:54:24
【问题描述】:
我正在尝试从框架中的UIButton 类访问viewController 的实例。每当button 从情节提要中实例化时,init? (coder aDecoder: NSCoder) 就会被调用。但我无法理解如何从中访问`viewController。
我在UIButton 类中有一个自定义初始化方法init(viewController: UIViewController),当button 以编程方式实例化时,它给了我viewController。
例如。 let button = CustomButton(viewController: self)
但是现在我想在button 被故事板初始化时得到这个viewController 实例,即在init? (coder aDecoder: NSCoder) 调用时。
到目前为止,我正在使用这个来获取viewController 对象,
button.viewController = self
但我认为这不是获取东西的好习惯。我需要另一种方式。
任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
这不是从按钮访问视图控制器的好习惯,你应该这样做
-
@Lu_ 我知道并且我提到了这一点。这就是为什么我正在寻找另一种方法。你能帮忙吗?
-
就像我说的,从视图控制器访问按钮而不是从按钮控制器,你将有
IBOutlet使用 -
我希望这个视图控制器对象在点击按钮时导航屏幕。由于此按钮在框架中,因此没有其他方法可以在没有视图控制器对象的情况下推送屏幕。
-
您可以使用委托,按钮可以在框架中,这并不意味着您不能拥有任何
IBOutlet