2017-08-10 21 views
1

私はXcodeには非常に慣れていて、それについて詳しくは分かりません。私の愚かな質問には申し訳ありません。Webviewで開くボタンのリンク

私は2つのグーグルでボタンやyahoo.com を追加したが、私はそれをクリックしたときに、私はホームページ上の20個のボタンでアプリを作成したい、と私は1のViewController

Like if button1 clicked 
do this 
elseif button2 clicked 
do diffrent 

でそれらすべてを添付するそれは同じのViewControllerで開き、私は(ViewController2)フィードでそれを開きたいダウン

これが私のアプリViewController1とフィードに添付 Lovebook

LoveBookのスクリーンショットですviewcontroller2

に取り付けられており、これはViewController1

@IBAction func button1(_ sender: Any) { 

    let url = URL(string:"http://google.com") 



    let request = URLRequest (url: url!) 
    webView.frame = self.view.frame; 

    webView.loadRequest(request) 

} 

@IBAction func button2(_ sender: Any) { 
    let url = URL(string:"http://yahoo.com") 



    let request = URLRequest (url: url!) 
    webView.frame = self.view.frame; 

    webView.loadRequest(request) 

} 

で自分のコードに私を助けたり、私のプロジェクトのデモを送ってくださいです。ありがとうございます

+0

「コードのにおい」です。そのような重複したコードがたくさんあるときはいつでも、それを行うためのよりよい方法について考えなければならないという兆候です。この場合、URL文字列の@IBInspectableプロパティを持つUIButtonのサブクラスを作成し、すべてのボタンが同じIBActionを指すようにすることができます。次に、あなたのストーリーボードにURLを設定することができます。 –

+0

またはタグを使用してください。 :D .. – GeneCode

答えて

1

あなたが書いたコードは、URLを処理するために外部アプリに依頼します。

Webビューを開く場合は、Webビューを含む新しいView Controllerを作成し、そのView ControllerにURLを渡し、View ControllerにWebビューへのリンクを送信させる必要があります。それはviewWillAppearメソッドです。同じIBAction方法が異なるURLで20個のボタンを持つ

は(いや、私は共有することができ、サンプルコードを持っていません。)

+0

私はどのようにURLを渡すことができますか?新しいViewControllerに? –

+0

ターゲットビューコントローラ(ウェブビューをホストするもの)に 'targetURL'プロパティを設定します。 IBActionコードでは、新しいView Controllerをプッシュ/プレゼンテーションする前に、View Controllerをインスタンス化し、そのtargetURLを目的のURLに設定します。 –

+0

私は既にviewcontrollerでwebviewを持っていますが、ボタンをクリックすると、ボタンをホストしているのと同じViewControllerで開きます –

関連する問題