将@IBAction链接到ViewController的.xib视图中的按钮
问题描述:
我已经创建了一个.xib文件,该文件将在iOS应用程序中重复出现,其中有一个UIButton。将@IBAction链接到ViewController的.xib视图中的按钮
我在故事板中的多个UIViewControllers中包含.xib视图。我想将@IBAction和@IBOutlet链接到特定于每个UIViewController的.xib视图中的按钮。换句话说,我希望每个UIViewController都能完全管理和处理.xib视图中的UIButton。
任何想法,如果上述是可行的?
答
有几种方法可以做你想做的事。
我会这样做的方式是给你的自定义视图一个闭包,当IBAction方法被触发时运行。并且从xib加载视图的每个视图控制器都可以将闭包传递给视图,并且在按钮被单击时该动作将运行。
答
所以这是迄今为止我提出的最佳解决方案。
- 在我的.xib中,我将按钮链接到一个空的@IBAction。
- 再次我的.xib内,我创建具有单个方法的协议,我将在步骤中创建的内部@IBAction调用(1.)
- 的@IBAction将在每次被调用时运行该协议的方法,所以每次按钮被点击。
- 落实在每一个视图控制器的协议存根需要处理@IBAction,并确保使用步骤创建协议到ViewController中链接到的.xib(2)
谢谢您的回答Abizern !您能否详细说明一下,或者给出一个支持您解决方案的例子? –