侦听以编程方式实例化的Xib模板中的输入

时间:2018-11-21 00:03:07

标签: ios uibutton xib

我目前正在以编程方式添加和删除模板视图;要删除UIView模板,用户必须点击其中的按钮。

但是,我不确定如何使父视图控制器处理按钮输入。我希望父视图控制器知道何时按下按钮,而不是让xib类处理,因为否则我将不得不进行很多盘旋,并且会很快变得烦人。

同样,我无法手动将按钮本身连接到ViewController类,因为这些xib是在运行时添加的。

如何获取父级ViewController来处理自定义XIB模板中的UIButton输入?

2 个答案:

答案 0 :(得分:0)

  

同样,我无法将按钮本身手动连接到ViewController类,因为这些xib是在运行时添加的。

事实并非如此,因为您可以肯定地调用“ addTarget(_:action:for:)”,以在“添加xib”时将按钮动作连接到视图控制器目标。

但是,更酷的解决方案是在xib中以零目标操作配置您的按钮。这意味着我们不需要明确的目标;我们只需要知道该动作将调用的方法的名称即可。视图控制器在响应者链的上方比按钮更高(一旦您“添加了xib”以查看视图控制器的视图),因此,当点击按钮时,将通过在响应者链上动态找到该方法。

答案 1 :(得分:0)

您可以使用方法

button.addTarget(self, action: #selector(yourMethodName), for: .touchUpInside)

此处“按钮”将是您的xib中按钮的参考。 “ self”将是要在其中添加.xib的viewController的引用。