使用一个ViewController用于所有按钮xcode

时间:2017-08-10 06:51:16

标签: ios swift xcode button uiviewcontroller

我正在使用Front上的批量按钮构建一个应用程序。现在我不想为每个按钮创建ViewController,因为我有30个按钮,我必须创建30个视图控制器。我只想点击第一个按钮。 打开 wahstatus.com 在第二个按钮上 wahstatus.com/ws/punjabi-funny-status

像我在Android应用程序中实现的那样

if (id == R.id.button1) {

        WebView myWebView = (WebView) findViewById(R.id.webview);
        myWebView.loadUrl("http://m.punjabidharti.com/pd/punjabi/");
        WebSettings webSettings = myWebView.getSettings();

        webSettings.setJavaScriptEnabled(true);

    } else if (id == R.id.button2) {

        WebView myWebView = (WebView) findViewById(R.id.webview);
        myWebView.loadUrl("http://m.punjabidharti.com/pd/punjabi/funny-punjabi/");
        WebSettings webSettings = myWebView.getSettings();

        webSettings.setJavaScriptEnabled(true);

Xcode有可能吗?感谢

2 个答案:

答案 0 :(得分:0)

如果你正在使用按钮打开网址,则根本不需要创建自己的视图控制器。我建议您使用SFSafariViewController,这很容易呈现。

首先将Safari Services框架添加到您的项目中,并使用所有按钮将其添加到您的vc顶部:

import SafariServices

然后您可以使用如下小方法导航到safari视图控制器:

func presentSafariVC(for url: URL) {
    let safariVC = SFSafariViewController(url: urlString)
    present(safariVC, animated: true)
}

答案 1 :(得分:0)

您似乎误解了UIViewController

的含义
  

视图控制器管理构成应用程序用户界面的一部分的一组视图

您不会为每个按钮创建一个UIViewController。如果您的按钮复杂而复杂,您可以创建一个NIB文件,其中包含相应的.m和.h文件(或.Swift文件),例如UIView的子类。使用此解决方案,您可以将您的NIB文件(它是UIView的子类)添加到您想要的任何UIViewController或任何UIView。

如果你的按钮很简单,你需要的是一个处理所有水龙头的IBAction方法(使用responder chain),它也是可能的。只需打开故事板并将所有按钮(使用ctrl + drag)连接到单个IBAction方法。