私は、HTML形式のテキストを含むUIWebViewを持っています。本文中のいくつかの言葉はリンクです。クリックすると、別のビューをスタックにプッシュする必要があります。この作業をするために、htmlリンクと対応するobjective-cコードをどのように書くべきですか?UIWebViewでhtmlリンクを使用してビューをスタックにプッシュするにはどうすればよいですか?
答えて
はのUIWebViewのデリゲートを設定し、その後、リンクアクションを処理することができますクリック:
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if (inType == UIWebViewNavigationTypeLinkClicked) {
[self.navigationController pushViewController:vc animated:YES];
return NO;
}
return YES;
}
私はこのソリューションを試しましたが、shouldStartLoadWithRequestを起動することができません。プログラムでUIWebViewを作成し、それを表のセルに追加します。 ViewController.hファイルで私は次のようにデリゲートを設定しました: @interface ViewController:UIViewController
@ user1279526、 'myWebView.delegate = self;' – beryllium
スウィフト3:のフルのUIWebViewの例スタック内のビューをプッシュすると、HTMLをクリックした際に、バンドル内の別のhtmlファイルを開くにはリンク<a href="imprint.html">imprint</a>
class WebViewController: UIViewController {
@IBOutlet weak var webView: UIWebView!
var filename:String?
override func viewDidLoad() {
super.viewDidLoad()
guard filename != nil else {
fatalError("filename not defined")
}
view.backgroundColor = UIColor.white
webView.isOpaque = false;
webView.delegate = self
webView.backgroundColor = UIColor.clear
//remove file extension first
filename = filename!.replace(".html", replacement: "")
let localfilePath = Bundle.main.url(forResource: filename, withExtension: "html")
let myRequest = NSURLRequest(url: localfilePath!)
webView.loadRequest(myRequest as URLRequest)
}
...
}
extension WebViewController: UIWebViewDelegate {
func webViewDidFinishLoad(_ webView: UIWebView) {
//set view title from html document
let pageTitle = webView.stringByEvaluatingJavaScript(from: "document.title")
navigationItem.title = pageTitle
}
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == .linkClicked,
let urlStr = request.url?.absoluteString,
!urlStr.contains("http://"),
let filename = request.url?.lastPathComponent, //e.g. imprint.html
let vc = storyboard?.instantiateViewController(withIdentifier: "WebView") as? WebViewController{
vc.filename = filename
self.navigationController?.pushViewController(vc, animated: true)
return false
}
return true
}
}
- 1. Kotlinでスタックを使用するにはどうすればよいですか?
- 2. コンテンツツールを使用してHTMLを(ボタン)リンクで編集するにはどうすればよいですか?
- 3. スタックに動的リンクを使用させるにはどうすればよいですか?
- 4. MvvmCrossでモーダルとしてプッシュされるビューを指定するにはどうすればよいですか?
- 5. jQueryにHTMLをリンクするにはどうすればよいですか?
- 6. ASIHTTPRequestを使用してUIWebViewからファイルをダウンロードするにはどうすればよいですか?
- 7. ビューにフォームを送信した後にUIWebViewを閉じるにはどうすればよいですか?
- 8. Cloudformを使用してOpsWorksスタックにRDSインスタンスを登録するにはどうすればよいですか?
- 9. SQLビューでgetdate()を使用しないようにするにはどうすればよいですか?
- 10. Xamarin.iosを使用してUIWebViewサイトからフォームフィールドを読み取るにはどうすればよいですか?
- 11. Lambdaを使用してAWS CodeCommitをS3にプッシュするにはどうすればよいですか?
- 12. サイドバーを使用して他の要素を右にプッシュするにはどうすればよいですか?
- 13. JSFでサーブレットにリクエストパラメータを使用してリンクを作成するにはどうすればよいですか?
- 14. switch文を使用して文字列スタックを実装するにはどうすればよいですか?
- 15. JavaScriptリンクをHTMLリンクのように動作させるにはどうすればよいですか?
- 16. CMakeを使用してプロジェクトでライブラリを正しくリンクするにはどうすればよいですか?
- 17. html/cssを使用してリンクをタブのように見えるようにするにはどうすればよいですか?
- 18. タップイベントをuiwebviewに添付するにはどうすればよいですか?
- 19. htmlを使用してhtmlの断片を解析するにはどうすればよいですか?
- 20. C#でXSLTを使用してXMLをHTMLに変換するにはどうすればよいですか?
- 21. パーズノードsdkを使用してプッシュ通知を送信するにはどうすればよいですか?
- 22. PHPを使用してプッシュ技術を実装するにはどうすればよいですか?
- 23. beautifulsoupを使用して.mp3リンクをフィルタリングするにはどうすればよいでしょうか? (JSON)
- 24. ウェブブラウザでURLリンクを使用してAndroidアプリを起動するにはどうすればよいですか?
- 25. react-intlを使用してタグ(リンク)でメッセージをフォーマットするにはどうすればよいですか?
- 26. Androidでビューを使用してレイアウトを編集するにはどうすればよいですか?
- 27. PHPを使用してswfファイルにリンクを挿入するにはどうすればよいですか?
- 28. NLTKライブラリをchatterbotにリンクしてSentimentComparisonを使用するにはどうすればよいですか?
- 29. ajaxを使用してリンクを非表示にするにはどうすればよいですか?
- 30. PHPを使用してmysql内にリンクを保存するにはどうすればよいですか?
http://www.theappcodeblog.com/2011/02/26/uiwebview-tutorial-link-to-an-ibaction/ OR http://inchoo.net/mobile-development/iphone-開発/ how-to-override-uiwebview-link-request-action-with-your-custom-custom-method/ –