Warum sollte ein UIWebView nicht in einem UIScrollView platziert werden?

Die Frage

Kennt jemand technische Gründe, um Webansichten in Bildlaufansichten unter iOS zu vermeiden? (Angenommen, Sie möchten das Scrollen in den Webansichten selbst deaktivieren.)

Wenn du schaustbei den Apple-Dokumenten für UIWebViewSie sagen:

Wichtig: Sie sollten UIWebView- oder UITableView-Objekte nicht in UIScrollView-Objekte einbetten. In diesem Fall kann es zu unerwartetem Verhalten kommen, da Berührungsereignisse für die beiden Objekte verwechselt und falsch verarbeitet werden können.

Meine Vermutung

Möglicherweise warnen sie Sie davor, eine Bildlaufansicht in eine andere Bildlaufansicht einzufügen, da Berührungen zwischen der inneren und der äußeren Bildlaufansicht verwechselt werden können.

Es gibt jedoch einen sehr triftigen Grund, eineUIWebView innerhalb einer Scroll-Ansicht. Webansichten sind nichtgerade Scroll-Ansichten.UIWebView kann leicht eine breite Palette von anzeigenNetz Inhalt.

Wenn Sie nicht scrollen müsseninnerhalb dasUIWebView selbst, und Sie deaktivieren das Scrollen entweder mit:

webView.userInteractionEnabled = NO;

oder

webView.scrollView.scrollEnabled = NO;

Gibt es dann wirklich ein Problem mit diesem Design?

Ich frage mich, ob dies teilweise ein Artefakt des Originals istUIWebView Schnittstelle, wo es nicht gabdirekter (und dokumentierter) Zugriff zu seinem eingebettetenUIScrollView (um das Scrollen leicht deaktivieren zu können). Vielleicht ist diese Aussage in den Apple-Dokumenten ein Vermächtnis davon?

Projektkontext

Ich frage, weil ich eine (von jemand anderem geschriebene) App verwalte, die eine Handvoll Webansichten in einer Bildlaufansicht verwendet, mit der horizontal zwischen ihnen gewechselt werden kann. Der Webinhalt muss als fest (nicht änderbar) betrachtet werden und zeigt nur eine Inhaltsseite pro HTML-Seite an. Der Benutzer muss in der Lage sein, zwischen Seiten zu scrollen, also mehrereUIWebViews in einemUIScrollView wurden dafür ausgewählt. Bisher scheint es sokann richtig arbeiten.

Die Seiten zeigen jedoch Vollbildbilder, und die Bildlaufleistung ist ein Problem. Aber ich versuche herauszufinden, ob die grundlegende Verschachtelung von Webansichten in Bildlaufansichten (vor der Apple warnt) wirklich Teil des Problems ist.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage