UIWebView alt sınıfının, kullanıcı sonunda "= İnsan" gibi bir dizeyle gittiği her bağlantıyı eklemek için nasıl alt sınıflara ayırabileceğimi merak ediyordum. Açık olmak gerekirse, kullanıcı Yahoo.com'a giderse ve daha sonra herhangi bir bağlantıya tıklarsa, sonunda "= İnsan" olacaktır.Altyazı UIWebView Her Bağlantıya Ekle (Hızlı)
0
A
cevap
0
Ben
UIWebView
alt sınıf olabilir ama docs ki: Böyle bir uygulama içi tarayıcı için olduğu gibiA WK WebView nesne görüntüler interaktif web içeriği.
Yeni geliştirme için, daha eski UI WebView sınıfının yerine bu sınıfı kullanın.
Bu benim için çalışıyor:
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)
}
}
Düzenleme: Aslında kod if navigationAction.navigationType == .LinkActivated
bloğunu bir bağlantı nedense tıklandığında her zaman girmez.
[me]: Bazen sadece çıkış görmek WKWebView temsilci yönteminde
ve çıkış göremiyorum:
[me]: Kullanıcı bir bağlantıyı tıkladım .
+0
@LeoDabus, iOS başlangıçlıyım ve bu kodu sadece Apple docs ve BNR IOS kitabına bakarak mysellf ile birlikte koydum. Neden işe yaramadığını bilmek istiyorum. – 7stud
İlgili konular
- 1. UITableViewCell'e altyazı ekle
- 2. Altyazı
- 3. UIWebview
- 4. Hızlı isteğe bağlı bağlantıya sahip isteğe bağlı birleştirme hala
- 5. Altyazı, Python
- 6. Genel hızlı IOS "kod derleme hatası" altyazı değil
- 7. Sipariş altyazı
- 8. Bir UIWebView
- 9. UIWebView
- 10. UIWebView
- 11. : UIWebView
- 12. UIwebview
- 13. UIWebView
- 14. Axis2 Bağlantıya başarılı bir şekilde yazdıktan sonra bağlantıya sıfırlama
- 15. IOS UIWebView kesişen bağlantıyı tıklatın
- 16. Açısal denetleyici bağlantıya yüklenmiyor
- 17. 'on' bağlantıya katılma seçeneği
- 18. url'yi değiştirmeden bağlantıya git
- 19. Groovy in anlamı altyazı
- 20. Altyazı Yap Sayfa
- 21. WordPress - her URL/permalink'in başına% lang% ekle
- 22. Jquery, her döngüde diziye değer ekle
- 23. kabuk komut dosyası her satırın sonuna ekle
- 24. JTable'da her satır için veri tabanına ekle
- 25. UIWebView sayfalandırma
- 26. Bir UIWebView
- 27. iOS, UIWebView
- 28. Hızlı derleyici her zaman% 100 CPU
- 29. Üç.js'deki bağlantıya tıklayarak küre döndürün
- 30. Cakephp düğmesini harici bağlantıya yönlendirin
Gerek yok. navigasyon tipini kontrol edebilirsiniz. http://stackoverflow.com/a/36436728/2303865 –
@LeoDabus Ama bu sadece bir boole ile kontrol ediyor. İstediğim URL'yi (ekli gibi) arayabileceğim ve döndürebileceğim bir yöntem var mı. – jordanbana
neyi başarmaya çalıştığınızı göstermeniz gerekir. Sadece bu son ekini url'e ekleyin mututeString oldukça basittir –