【问题标题】:Same button across all view controllers in ios appios应用程序中所有视图控制器的相同按钮
【发布时间】:2017-11-29 16:47:27
【问题描述】:

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

【问题讨论】:

    标签: ios swift swift3 uibutton viewcontroller


    【解决方案1】:

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

    class SendFeedbackViewController: UIViewController {
        @IBOutlet weak var sendFeedbackButton: UIButton!
    
        @IBAction func sendFeedback() {
            /* do whatever you need */
        }
    }
    

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

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

    在故事板集类类型中:

    现在您可以连接您的发送反馈按钮插座和操作:

    【讨论】:

      【解决方案2】:

      使用 UIViewController 的扩展。

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

      并从任何 ViewController 调用。

      【讨论】:

      • 扩展是一个很好的方法,但是最好先继承 UIViewController 然后在子类上添加扩展。
      猜你喜欢
      • 2011-09-17
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      相关资源
      最近更新 更多