私はUIWebViewをサブクラス化して、ユーザーが "= Human"のような最後の文字列を追加するすべてのリンクを追加する方法を知りました。ユーザーがYahoo.comに行ってリンクをクリックすると、最後に "= Human"が表示されます。サブクラスUIWebViewですべてのリンクを追加する(Swiftで)
0
A
答えて
0
私はのUIWebView
に
をサブクラス化することができしかしdocsは言う:
WKのWebViewオブジェクトは、このような アプリ内ブラウザ用として、インタラクティブなWebコンテンツを表示します。
新しい開発の場合は、古いクラスUI WebView クラスの代わりにこのクラスを使用します。
これが私の作品:
import UIKit
import WebKit
class WebViewController: UIViewController,
WKNavigationDelegate {
var webView: WKWebView!
override func loadView() {
let webView = WKWebView()
webView.navigationDelegate = self
view = webView
let defaultUrl = NSURL(
string: "https://www.yahoo.com"
)
if let validDefaultUrl = defaultUrl {
let yahooRequest = NSURLRequest(URL: validDefaultUrl)
webView.loadRequest(yahooRequest)
}
}
//MARK: - WKNavigationDelegate methods:
func webView(webView: WKWebView,
decidePolicyForNavigationAction navigationAction: WKNavigationAction,
decisionHandler: (WKNavigationActionPolicy) -> Void)
{
print("[me]: In WKWebView delegate method")
if navigationAction.navigationType == .LinkActivated {
print("[me]: User clicked on a link.")
let request = navigationAction.request
if let url = request.URL,
newURL = NSURL(string: url.absoluteString + "=User")
{
print("[me]: New url is valid.")
print("[me]: New url is \(newURL.absoluteString)")
let newRequest = NSMutableURLRequest(URL: newURL)
decisionHandler(.Cancel)
webView.loadRequest(newRequest)
}
}
decisionHandler(.Allow)
}
}
は編集:実際には、コードがif navigationAction.navigationType == .LinkActivated
ブロックにリンクが何らかの理由でクリックされるたびに入りません。
[私]:WKWebViewのデリゲートメソッド
と私は出力を参照に失敗で:時々私はちょうど出力を参照
を[私]:ユーザーがリンクをクリック。
+0
@LeoDabus、私はiOSの初心者です。私はAppleのドキュメントとBNR IOSブックだけを見てmysellfによってそのコードを一緒に冠しました。なぜそれがうまくいかないのか知りたいのですが。 – 7stud
関連する問題
- 1. UIViewControllerとそのすべてのサブクラスにプロパティを追加する
- 2. Xcode 4.3でUIViewControllerサブクラスを追加する
- 3. Swiftでストーリーボードを追加
- 4. ウェブサイトのすべてのリンクにclass = "transition"を追加するスクリプト
- 5. プロトコルなしのすべてのリンクにhttp://を追加する
- 6. Jquery:すべてのリンクにクエリ文字を追加する
- 7. uiwebviewサブクラスで保持するコピー
- 8. "user"で始まるすべてのリンクにイベントを追加しますか?
- 9. ApplicationUserのサブクラスにクレームを追加する
- 10. tapAtPoint on UIWebViewサブクラス
- 11. UIWebViewにUITapGestureRecognizerを追加するには?
- 12. UIWebViewにHTMLを追加する
- 13. jqueryを通してすべてのリンクに関数を追加するには?
- 14. ページベースのアプリケーションでUIWebviewに複数のWebページを追加する
- 15. Swift:写真をカスタムアルバムに追加する
- 16. openstack swiftにオブジェクトを追加する
- 17. Swift - ボーナスストリークを追加するロジック
- 18. Swiftで新しいテーブルビューを追加
- 19. 機能を追加する:サブクラスとデコレータ
- 20. loadViewでUIControlサブクラスを追加するとiphoneアプリがクラッシュする
- 21. Swiftでtableviewcellの横にビューを追加するには?
- 22. Mixpanel - すべてのリンクを追跡してリンク値を取得
- 23. 子孫サブクラスでSwiftプロパティをオーバーライド
- 24. UIViewのサブクラスです。 Interface Builderを使用して追加するには?
- 25. iphone sdk UIWebviewでオプションを追加する方法は?
- 26. NSManagedObjectサブクラスにivarを追加
- 27. iPhone:tableviewサブクラスにナビゲーションバーを追加
- 28. コアSwiftで関係にデータを追加するデータ
- 29. Javascriptを使用してUIWebviewにパディングを追加する方法
- 30. UIViewサブクラスをプログラムで追加すると描画されない
不要です。ナビゲーションタイプをチェックすることができます。 http://stackoverflow.com/a/36436728/2303865 –
@LeoDabusしかし、それはちょうどブールでチェックします。私が呼び出すことができ、私が望むURLを返すことができる方法はありますか? – jordanbana
あなたは達成しようとしていることを示す必要があります。その接尾辞をurlに追加するだけです。absoluteStringはとてもシンプルです –