2017-07-30 85 views
0

我在我的应用程序中使用SWRevealViewController作为滑出菜单。主视图控制器包含一个WKWebView来打开URL。当按下滑出按钮时,会出现一个表格视图控制器。当按下tableView单元格时在不同ViewController中打开URL

我希望在滑出菜单中的Table View Controller的Table View Cell中显示网站的名称,并在按下单元格时在主View Controller中的WKWebView中打开该网站。

这可能看起来像一个简单的问题,但我似乎无法找到任何关于它的在线。

在此先感谢您的帮助。

回答

1

据我记得SWRevealViewController的实施,它使用static table view

如果你是好与static table view,让您的链接,那么你可能只需要创建一个delegate方法,将根据选择的表View Controller该小区被调用。此代表将通知您的ViewController并说明要打开哪个链接。

希望它很清楚。让我知道你是否需要更多细节。

+0

我是新来的表视图,所以我不确定不同的类型。不过,我做了一个示例项目,其中表视图单元格是从数组中填充的,所以我将创建一个包含几个不同网站的数组,并从中填充表视图。例如,我可以有一个数组[facebook.com,Twitter.com],并将单元格0和1设置为等于数组中的值。然后我可以创建url,但是我卡住的地方是使用wkwebview在另一个视图控制器中打开url。你能解释一下我可以如何将URL传递给其他视图控制器吗? –

+0

@ScottB。请检查委托模式。如上所述,它会帮助你。那里真的有很多教程。他们比我在这里为你编写快速代码要好得多。主要思想是您需要从Table ViewController通知第二个视图控制器关于被点击的单元格。希望能帮助到你。 –

0

在SideMenuViewController(视图控制器中,你必须以链接表)

public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

let mainViewController = MainViewController() 
mainViewController.link = linksArray[indexPath.row] 
self.revealViewController().setFrontViewController(mainViewController, animated: true) 

} 
  1. 的init有WKWebView
  2. 作为属性
  3. 通链接
  4. 组视图控制器作为新的主视图控制器新的前视图控制器
相关问题