ios应用程序中所有视图控制器上的相同按钮

时间:2017-06-26 18:44:17

标签: ios swift swift3 uibutton viewcontroller

我正在开发一个包含10个视图控制器的应用程序,包括2个webview控制器。每个视图控制器都包含一个'发送反馈'右上角的按钮具有完全相同的样式和功能。 现在,我在按钮的每个视图控制器中编写完全相同的代码。 我想知道是否有办法只在一个地方编写方法并将其用于所有按钮,因为功能相同。 我正在使用swift 3。

2 个答案:

答案 0 :(得分:2)

使用UIViewController的扩展名。

extension UIViewController {
   func sendFeedBack() {
     //write your code here
   }
}

从任何ViewController调用。

答案 1 :(得分:2)

创建视图控制器的新子类:

class SendFeedbackViewController: UIViewController {
    @IBOutlet weak var sendFeedbackButton: UIButton!

    @IBAction func sendFeedback() {
        /* do whatever you need */
    }
}

然后从这个新的视图控制器中继承所有视图控制器:

class YourViewController: SendFeedbackViewController {
    /* your entire logic */
}

在storyboard中设置类类型: enter image description here

现在您可以连接发送反馈按钮插座和操作: enter image description here enter image description here