簡體   English   中英

為所有按鈕xcode使用一個ViewController

[英]using one ViewController for all button xcode

我正在構建一個帶有Front按鈕的應用程序。 現在,我不想為每個按鈕創建ViewController,因為我有30個按鈕,而我必須創建30個view-controller。 我想要的只是當我單擊第一個按鈕時。 在第二個按鈕上打開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中可能嗎? 謝謝

如果您使用按鈕所做的所有事情都是打開URL,那么您甚至根本不需要創建自己的視圖控制器。 我建議您使用SFSafariViewController ,它很容易呈現。

首先將Safari Services框架添加到您的項目中,然后使用所有按鈕將其添加到vc的頂部:

import SafariServices

然后,您可以使用如下所示的小方法導航至野生動物園視圖控制器:

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

似乎您誤解了UIViewController的含義:

視圖控制器管理一組視圖,這些視圖構成了應用程序用戶界面的一部分

您不會為每個按鈕創建一個UIViewController。 如果您的按鈕又復雜又復雜,則可以創建一個NIB文件,其中包含對應的.m和.h文件(或.Swift文件),這些文件可以將UIView子類化。 然后,使用該解決方案,您可以將NIB文件(這是UIView的子類)添加到所需的任何UIViewController或任何UIView。

如果您的按鈕很簡單,並且您需要的是一個IBAction方法來處理所有輕擊(使用響應者鏈 ),那么這也是可能的。 只需打開情節提要,然后將所有按鈕(使用Ctrl +拖動)連接到該IBAction方法即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM