私は、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. MvvmCrossでモーダルとしてプッシュされるビューを指定するにはどうすればよいですか?
- 2. Cloudformを使用してOpsWorksスタックにRDSインスタンスを登録するにはどうすればよいですか?
- 3. ASIHTTPRequestを使用してUIWebViewからファイルをダウンロードするにはどうすればよいですか?
- 4. SQLビューでgetdate()を使用しないようにするにはどうすればよいですか?
- 5. ビューにフォームを送信した後にUIWebViewを閉じるにはどうすればよいですか?
- 6. html/cssを使用してリンクをタブのように見えるようにするにはどうすればよいですか?
- 7. PHPを使用してプッシュ技術を実装するにはどうすればよいですか?
- 8. C#でXSLTを使用してXMLをHTMLに変換するにはどうすればよいですか?
- 9. ajaxを使用してリンクを非表示にするにはどうすればよいですか?
- 10. PHPを使用してswfファイルにリンクを挿入するにはどうすればよいですか?
- 11. jqueryを使用して画像にリンクを追加するにはどうすればよいですか?
- 12. HTMLコードをビューに含めるにはどうすればいいですか?
- 13. タップイベントをuiwebviewに添付するにはどうすればよいですか?
- 14. Javaでスタックをコピーするにはどうすればよいですか?
- 15. JREでIPv4 IPのIPv6スタック使用を無効にするにはどうすればよいですか?
- 16. Antタスクを使用してjavadocをJava APIにリンクさせるにはどうすればよいですか?
- 17. ユーザー名を使用してiOSアプリケーションのFacebookユーザーにリンクするにはどうすればよいですか?
- 18. Eclipseを使用して#行にリンクするにはどうすればよいですか?
- 19. jqueryを使用してgif画像にリンクするにはどうすればよいですか?
- 20. php、javascript、htmlを使用して組み込み製品でプッシュ技術を使用するにはどうすればよいですか?
- 21. ToadでPL/SQLを使用してHTMLフォームを送信するにはどうすればよいですか?
- 22. HTML :: Parserを使用してタグ間でテキストを抽出するにはどうすればよいですか?
- 23. JavaScriptを使用してHTMLで子ノードを削除するにはどうすればよいですか?
- 24. Text.Pandocを使用してMarkdownをHtmlに変換するにはどうすればよいですか?
- 25. jasperレポートを使用してhtmlコンテンツをPDFに印刷するにはどうすればよいですか?
- 26. groovyを使用してHTMLフラグメントをXHTMLに変換するにはどうすればよいですか?
- 27. Perlを使用してHTMLをPDFに変換するにはどうすればよいですか?
- 28. asp.netを使用して.docxをhtmlに変換するにはどうすればよいですか?
- 29. JavaScriptを使用してHTMLをXHTMLに変換するにはどうすればよいですか?
- 30. Fluent NHibernateを使用してビューにアクセスするにはどうすればよいですか?
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/ –