gpt4 book ai didi

swift - 当我从 tableView 中选择一个单元格时,如何使用 navigationController 显示 WebView?

转载 作者:行者123 更新时间:2023-11-28 05:32:08 25 4
gpt4 key购买 nike

当我们从tableView中选择一个单元格时,我们使用didSelectRowAtIndexPath方法来实现具体的操作。

那么如何通过navigationController跳转到webView等 View 呢?

我想使用 prepareForSegue 来处理这个问题,如下所示,我只知道如何将数据从一个 viewController 传递到另一个 viewController.

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!){
var channelC:ChannelController=segue.destinationViewController as ChannelController

channelC.delegate = self
//将channelData传递给ChannelController中去。
channelC.channelData=self.channelData
}

当我想显示另一个 View (如 WebView)时,我不知道如何在 didSelectRowAtIndexPath 方法中编写代码?

我只是使用 Storyboard来处理 viewController 切换的事情。谢谢

最佳答案

这里我为你创建了一个简单的例子:

import UIKit

class ViewController: UIViewController,UITableViewDataSource, UITableViewDelegate {

var arr: [String] = ["google", "yahoo", "Swift"]
var index : Int = Int()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{

return arr.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{

var identifier : NSString = "Cell"

var cell = tableView.dequeueReusableCellWithIdentifier(identifier) as? UITableViewCell

if !(cell != nil) {
cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: identifier)
}
cell?.textLabel.text = self.arr[indexPath.row]

return cell!
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)

//store your clicked row into index
index = indexPath.row

// get to the next screen
self.performSegueWithIdentifier("goNext", sender: self)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {

if (segue.identifier == "goNext") {

var webViewController = segue.destinationViewController as googleViewController

//switch case for row which you have clicked
switch index{

case 0:

webViewController.url = "https://www.google.co.in/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8"
case 1:

webViewController.url = "https://in.yahoo.com/"
case 2:

webViewController.url = "https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-XID_456"
default:
println("nothing")
}
}

}
}

这是您的 googleViewController.swift

的代码
    @IBOutlet weak var webView: UIWebView!

var url : String = String()

override func viewDidLoad() {
super.viewDidLoad()

let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
webView.loadRequest(request)

}

也许这会对你有所帮助。

关于swift - 当我从 tableView 中选择一个单元格时,如何使用 navigationController 显示 WebView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27539712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com