Ich mache eine App, wo ich Links zu URLs in meiner Tabellenansicht haben muss. Meine Frage ist, wie kann ich eine Zelle zu einer Website und eine andere zu einer anderen Website führen? Wenn Sie irgendwelche Fragen für mich haben, lassen Sie sie in den Kommentaren unten.UITableViewCell Pushing to URL
Antwort
Sie haben Ihren Controller, der die Tabelle über UITableViewDataSource
und UITableViewDelegate
richtet, richtig? Sie können oder implementieren bereits tableView(UITableView, didSelectRowAt: IndexPath)
, was bedeutet, wie Code ausgeführt wird, wenn der Benutzer auf Ihre Zelle klickt.
Sie haben wahrscheinlich auch eine Liste von URL-Objekten (let myURLs: [URL] = ...
), die Sie verschieben möchten. Sie können die von der Funktion indexPath
übergebene URL erhalten (wenn Ihre gesamte Tabellenansicht ein Abschnitt ist, wäre es nur myURLs[indexPath.row]
; wenn Sie Abschnitte haben, müssen Sie herausfinden, welche URL die richtige ist). Öffnen Sie die URL mit UIApplication.shared.open(url)
.
können Sie diesen Tableview Delegate Methode wie folgt verwendet werden:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
let url = URL(string: "http://www.google.com")!
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
Hinweis: für nicht Protokoll UITableViewDelegate
Implement erhaltenDas ist großartig, aber ich mache ein Array von Tabellenansicht Zellen und ich brauche jede Zelle zu einer anderen URL abhängig von der Zelle Titel oder Name, wie kann ich das mit dem Code, den Sie zur Verfügung gestellt. @Sour LeangChhean – Luc
Sie können dies verwenden: lassen cell = tableView.cellForRow (at: indexPath) Wache lassen Adresse = Zelle .textLabel .text else {return} let url = URL? (String: Adresse)! –
Sie können in meinem Bild @ Luc sehen –
Sie können dies mit dem Push segue
func prepare(for segue: NSStoryboardSegue, sender: Any?) {
if segue.identifier == "Push" {
//This refers to the second view controller
let vc = segue.destination as! yourSecondViewController
//selected indexPath
let indexPath = self.tableView.indexPathForSelectedRow
//gets the url from that array indexPath
let object = urlArray[indexPath!.row]
//create a variable called url in your second view controller and call it like this
vc.url = object
}
}
Verwenden Sie in Ihrem zweiten View-Controller die variable URL, wie Sie möchten.
Ich denke, es Arbeit für Sie
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
let urlName = self.arrUrlName[indexPath.row]
//self.arrUrlName : whatever your array name, i hope your array contains only url
let url = URL(string: urlName)
UIApplication.shared.openURL(url)
}
- 1. Google Spreadsheet Pushing to Array
- 2. Pushing to Git zurück Fehlercode 403 fatal
- 3. Pushing to GitHub von innerhalb Xcode
- 4. Probleme Pushing to Github (HTTP/SSH)
- 5. Pushing Daten einmal eine URL angefordert wird
- 6. Pushing to private nuget feed Eingabeaufforderungen für Anmeldeinformationen
- 7. Pushing to Array und Rückgabe von der rekursiven Funktion
- 8. iOS UITableViewCell Bilder von URL
- 9. Pushing Code mehrere Fernbedienungen
- 10. Laravel Unterschied zwischen url() und URL :: to()
- 11. Pushing App Bluemix
- 12. zu mehrdimensionales Array Pushing
- 13. Pushing nichts tun
- 14. URL Rewrite xml to rss
- 15. Eddystone-URL Call to Action
- 16. Pushing zu GitHub 403 Fehler Erlaubnis verweigert
- 17. Jquery pushing Variablen in Array
- 18. Pushing App Heroku
- 19. Self-pushing Objekt Konstruktor
- 20. Pushing eine Lua-Tabelle
- 21. PubNub - Pushing HTML Updates
- 22. Squashed subtree Änderung Pushing
- 23. Pushing App Heroku Problem
- 24. Pushing eine neue URL, deren einzige Änderung mit der vorherigen URL ist ein Abfrageparameter
- 25. Image to Byte-Array von einer URL
- 26. Unable to Scrape Zazzle Produkt URL
- 27. How to: PHP dynamische URL Überprüfung
- 28. iPhone - Google Text-To-Speech Sonderzeichen URL
- 29. woocommerce add-to-cart URL Unicode-Problem
- 30. Push to Remote URL mit TortoiseGit
Dies ist eine grundlegende Frage ist. Es gibt Tonnen an Tutorials dafür. Was hast du bisher versucht ? –