Bu işlevi iki yerden çağırabilmek istedim: Bir metin alanını düzenlemeyi bitirdiğimde, stackView
içinde hiçbiri olmadığında yeni bir webView
eklemek istiyorum ve ayrıca bir barButtonItem
kullanabilmek istiyorum. böyle yap.Varsayılan parametrelerle hızlı fonksiyonlar ayrıca bir seçici mi?
İki sorun yaşıyorum. Bar düğmesi bu işlevi çağırdığında, 'url' parametresi bir nesne olur, UIBarButtonItem
yazın. textFieldShouldReturn
'dan çağrıldığında, düzgün bir şekilde NSURL
olarak gelir. Kullanıcı adres alanına hiçbir şey yazmazsa ve isabetler girerse, boş bir NSURL
gelir ve varsayılan değer kullanılmaz. (Ben olmasını isterdim)
Arama, textfieldShouldReturn
işlevinden neye benzemeli, böylece bir boşluk varsayılanı tetikler mi?
Ya fonksiyonumun veya düğmenin işlevi çağıracağı ve niçin '' url '' parametresinin 'gönderen' olacağını tahmin ettiğim şey haline gelmesiyle nasıl ilgilenirim?
override func viewDidLoad() {
super.viewDidLoad()
setDefaultTitle()
let add = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: #selector(ViewController.addWebView))
let delete = UIBarButtonItem(barButtonSystemItem: .Trash, target: self, action: #selector(ViewController.deleteWebView))
navigationItem.rightBarButtonItems = [delete, add]
}
func addWebView(url: NSURL = NSURL(string: "https://www.google.com")!) {
let webView = UIWebView()
webView.delegate = self
stackView .addArrangedSubview(webView)
webView.loadRequest(NSURLRequest(URL: url))
webView.layer.borderColor = UIColor.blueColor().CGColor
selectWebView(webView)
let recognizer = UITapGestureRecognizer(target: self, action: #selector(ViewController.webViewTapped))
recognizer.delegate = self
webView.addGestureRecognizer(recognizer)
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
if let webView = activeWebView, address = addressBar.text {
if let url = NSURL(string: address) {
webView.loadRequest(NSURLRequest(URL: url))
}
} else if stackView.arrangedSubviews.count == 0 {
let address = NSURL(string: addressBar.text!)!
addWebView(address)
}
textField.resignFirstResponder()
return true
}
: sorunu gösterir
Faydalı kod aşağıda takılır. Söylediğiniz şeyin sesini beğendim, ama Xcode yapmıyor. Çalışmıyor. –
Daha spesifik olabilir misiniz, tam olarak ne işe yaramaz? BTW Özel anahtar kelime ile gerçek uygulama yöntemini (bir URL kabul eder) işaretlemek önemlidir. –
'add add = UIBarButtonItem (barButtonSystemItem: .Add, target: self, eylem: #selector (ViewController.addWebView)) ' çalışmayı durdurur. –