我目前正在以编程方式添加和删除模板视图;要删除UIView模板,用户必须点击其中的按钮。
但是,我不确定如何使父视图控制器处理按钮输入。我希望父视图控制器知道何时按下按钮,而不是让xib类处理,因为否则我将不得不进行很多盘旋,并且会很快变得烦人。
同样,我无法手动将按钮本身连接到ViewController类,因为这些xib是在运行时添加的。
如何获取父级ViewController来处理自定义XIB模板中的UIButton输入?
答案 0 :(得分:0)
同样,我无法将按钮本身手动连接到ViewController类,因为这些xib是在运行时添加的。
事实并非如此,因为您可以肯定地调用“ addTarget(_:action:for:)
”,以在“添加xib”时将按钮动作连接到视图控制器目标。
但是,更酷的解决方案是在xib中以零目标操作配置您的按钮。这意味着我们不需要明确的目标;我们只需要知道该动作将调用的方法的名称即可。视图控制器在响应者链的上方比按钮更高(一旦您“添加了xib”以查看视图控制器的视图),因此,当点击按钮时,将通过在响应者链上动态找到该方法。
答案 1 :(得分:0)
您可以使用方法
button.addTarget(self, action: #selector(yourMethodName), for: .touchUpInside)
此处“按钮”将是您的xib中按钮的参考。 “ self”将是要在其中添加.xib的viewController的引用。