2017-02-04 2 views
0

Es folgt der Code auf meinem ersten View-Controller, die Tableview ist mit drinNavigieren Sie zu UIWebView von UITableView Zeilenauswahl

ich UIWebView auf der nächsten Seite zeigen möchten.

import UIKit 

class menuTableViewController: UITableViewController { 

var menuNameArr:Array = [String]() 
var iconeImage:Array = [UIImage]() 
var urlstring:Array = [URL]() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    menuNameArr = ["Anasayfa","Sınıf Listeleri","Ders Programı","Portal","Mesaj","Hesabım","İletişim","Paylaş","Hesaptan Çıkış"] 

    iconeImage = [UIImage(named: "anasayfa")!, 
        UIImage(named: "sinif")!, 
         UIImage(named: "ders")!, 
        UIImage(named: "portal")!, 
        UIImage(named: "mesaj")!, 
        UIImage(named: "hesabim")!, 
        UIImage(named: "iletisim")!, 
        UIImage(named: "paylas")!, 
        UIImage(named: "hesap")!] 

    urlstring = [URL(string:"http://sinifdefterim.com/portal.aspx")!, 
      URL(string:"http://sinifdefterim.com/siniflistesi.aspx")!] 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return menuNameArr.count 
} 

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

    let cell = tableView.dequeueReusableCell(withIdentifier: "menuTableViewCell") as! menuTableViewCell 

    cell.imgIcon.image = iconeImage[indexPath.row] 
    cell.lblMenuName.text! = menuNameArr[indexPath.row] 
    return cell 
} 

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    performSegue(withIdentifier:"ssss", sender: urlstring[indexPath.row]) 
} 

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

    let destinationNavigationController = segue.destination as! UINavigationController 
    let mainVC:ViewController = destinationNavigationController.topViewController as! ViewController 
    mainVC.mainURL = sender as! URL 
} 
} 

Wie öffne ich ausgewählte URL auf Webview auf nächsten Viewcontroller? Jede Hilfe geschätzt

+0

Was schief läuft, sollten Sie Ihr Problem im Körper erklären, nicht nur eine Reihe von Code schreiben – Simon

Antwort

0

Auf Ihrem menuTableViewController haben Sie nur 2 Elemente in URL-Array. So müssen Sie Zustand in didSelect Methode schreiben wie:

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

    if indexPath.row == 0 || indexPath.row == 1 { 
     performSegue(withIdentifier:"ssss", sender: urlstring[indexPath.row]) 
    } 
} 

Auf Ihren nächsten View-Controller, die UIViewController sind:

1) hinzufügen UIWebView zu sehen. Verbinden Sie webview Steckdose mit Assistent Editor und benennen Sie Ihre Webview.

2) UIWebView URL laden in viewDidLoad:

@IBOutlet weak var myWebView: UIWebView! 

var mainURL = "" //This value you are getting from menuTableViewController 

override func viewDidLoad() { 
super.viewDidLoad() 

    let url = URL(string: mainURL) 
    let requestObject = URLRequest(url: url!) 
    myWebView.loadRequest(requestObject) 
}