Ich habe mich gefragt, wie alle Webanwendungen Webinhalte anzeigen, z. B. in einer UITableView. Wenn wir die UIWebView-Instanzmethode loadRequest aufrufen, surft sie einfach zu dem Link, der mit dem NSURL-Objekt bereitgestellt wird. Aber wie verwalten wir weiter alle Inhalte mit TableViews, ImageViews und so weiter. Was ist das Grundprinzip von Webanwendungen in iOS? Muss ich HTML und andere webbezogene Technologien wie AJAX, Java Script usw. lernen?
Antwort
Zu viele Anzeigen?Sie zeigen nicht den Inhalt einer UIWebView
in einem UITableView
(oder UIImageView
usw.) Die Anwendungen, auf die Sie sich wahrscheinlich beziehen, verwenden einen von zwei Ansätzen:
-
Laden Sie die Daten mit
NSURLConnection
in der Regel mit REST und JSON. Dann zeigen Sie es in einerUITableView
. -
Anzeige von HTML-Inhalten in einem
UIWebView
das aussieht wie einUITableView
Weitere Informationen über den ersten Fall finden Sie in der URL-Ladesystem Programmierhandbuch . Für weitere Informationen über den zweiten Fall siehe Erste Schritte mit iOS Web Apps .
Die meisten Dinge, die in MobileSafari laufen können, können auch in einer UIWebView
. Es ist jedoch schwierig, ein natives, korrektes Verhalten für alle Ihre UI-Elemente mit einer UIWebView
. Insbesondere das Antippen von Schaltflächen funktioniert in den meisten Webanwendungen nicht korrekt. Auch Swipes können sich nicht optimal verhalten. Aber auch so sind viele "Apps" da draußen eigentlich nur Webseiten in einer UIWebView
. (Die Facebook-App ist ein gutes Beispiel dafür.)