对所有按钮使用一个ViewController xcode
问题描述:
我正在用Front按钮创建一个应用程序。现在我不想为每个按钮创建ViewController,因为我有30个按钮,我必须创建30个视图控制器。我想要的只是当我点击第一个按钮时。 开放 wahstatus.com 的第二个按钮 wahstatus.com/ws/punjabi-funny-status对所有按钮使用一个ViewController xcode
这样的事情,因为我在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浏览器服务框架到您的项目,并添加到您的VC的顶部,所有按钮:
import SafariServices
然后你就可以导航到这样的小方法的Safari浏览器视图控制器:
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。
如果你的按钮很简单,你需要的是处理所有的水龙头(使用responder chain)一个IBAction为方法还可以。只需打开您的Storyboard并将所有按钮(使用Ctrl +拖动)连接到单一的IBAction方法。
您可以创建自定义视图并在每个视图控制器中使用它 – Jageen
子类UIViewController。 –
@ElTomato它无关,与子类的UIViewController – OhadM