Lesezeichen App: Mit Button webView in 2. ViewController anzeigen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Lesezeichen App: Mit Button webView in 2. ViewController anzeigen

    Hi, ich bin ziemlich unvertraut im Umgang mit Swift und habe ein nervtötendes Problem.
    Ich habe 2 View Controller, wobei der erste diverse Button und der zweite ein webView enthält. Ein Button steht im grunde für eine Internetseite, wenn dieser also angeklickt wird, möchte ich, dass in einem weiteren ViewController ein webView mit der entsprechenden URL angezeigt wird.

    Ich bekomme es in Swift aber einfach nicht hin, dass dies funktioniert. Ich habe versucht die Variable mittels Segue übermitteln aber es funktioniert nicht, das webView bleibt blank...


    ViewController mit den Button:

    Quellcode

    1. class FirstViewController: UIViewController {
    2. var urlIntranet = NSURL(string: "....")
    3. var urlOfficial = NSURL(string: "....")
    4. var urlSP = NSURL(string: "....")
    5. var urlHCM = NSURL(string: "....")
    6. override func viewDidLoad() {
    7. super.viewDidLoad()
    8. }
    9. override func didReceiveMemoryWarning() {
    10. super.didReceiveMemoryWarning()
    11. }
    12. override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
    13. if (segue.identifier == "showIntranet") {
    14. let tvc = (segue.destinationViewController as! ThirdViewController)
    15. tvc.url = urlIntranet
    16. }
    17. if (segue.identifier == "showOfficial") {
    18. let tvc = (segue.destinationViewController as! ThirdViewController)
    19. tvc.url = urlOfficial
    20. }
    21. if (segue.identifier == "showSP") {
    22. let tvc = (segue.destinationViewController as! ThirdViewController)
    23. tvc.url = urlSP
    24. }
    25. if (segue.identifier == "showHCM") {
    26. let tvc = (segue.destinationViewController as! ThirdViewController)
    27. tvc.url = urlHCM
    28. }
    29. }
    30. //ButtonActions
    31. @IBAction func btn_offi(sender: AnyObject) {
    32. self.performSegueWithIdentifier("showOfficial", sender: urlOfficial)
    33. }
    34. @IBAction func btn_intra(sender: AnyObject) {
    35. self.performSegueWithIdentifier("showIntranet", sender: urlIntranet)
    36. }
    37. @IBAction func btn_sp(sender: AnyObject) {
    38. self.performSegueWithIdentifier("showSP", sender: urlSP)
    39. }
    40. @IBAction func btn_hcm(sender: AnyObject) {
    41. self.performSegueWithIdentifier("showHCM", sender: urlHCM)
    42. }
    43. }
    Alles anzeigen


    ViewController mit dem webView:

    Quellcode

    1. class ThirdViewController: UIViewController {
    2. //PROPERTIES
    3. @IBOutlet weak var webView: UIWebView!
    4. var url: NSURL?
    5. override func viewDidLoad() {
    6. super.viewDidLoad()
    7. let requestObj = NSURLRequest(URL: url!)
    8. webView.loadRequest(requestObj)
    9. }
    10. override func didReceiveMemoryWarning() {
    11. super.didReceiveMemoryWarning()
    12. }
    13. ....
    14. }
    Alles anzeigen
  • pierredrks schrieb:

    Schau mal ob in der Konsole irgendwelche Fehlermeldungen kommen, evtl. hat es was mit App Transport Security zu tun.
    Ich habe in der info.plist zu Testzwecken erstmal alle Verbindungen erlaubt, daran sollte es also nicht liegen. Bekomme in der Konsole auch keine Fehlermeldung.


    Okay, jetzt hat es Klick gemacht. Ich habe etwas nicht bedacht...
    Das Problem ist, dass beim Aufrufen der Seite zunächst eine Authentifizierungsabfrage erfolgt, mittels eines PopUp Windows. kann man dies mit einem webView irgendwie darstellen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jannik Dre ()

  • Du musst über die Delegate-Methode Nutzernamen und Passwort ermitteln. Mit diesen beiden Werten erzeugst du ein NSURLCredential-Object über init(user:password:persistence:) und übergibst das an den Completion-Handler. Kannst ja erstmal mit festen Werten experimentieren.
    „Meine Komplikation hatte eine Komplikation.“

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von macmoonshine ()