Dlaczego nie należy umieszczać UIWebView w UIScrollView?

Pytanie

Czy ktoś zna techniczne przyczyny unikania widoków internetowych wewnątrz widoków przewijania na iOS (zakładając, że chcesz wyłączyć przewijanie wewnątrz widoków internetowych)?

Jeśli spojrzyszw dokumentach Apple dla UIWebViewstwierdzają:

Ważny: Nie należy osadzać obiektów UIWebView ani UITableView w obiektach UIScrollView. Jeśli to zrobisz, może wystąpić nieoczekiwane zachowanie, ponieważ zdarzenia dotykowe dla dwóch obiektów mogą być pomieszane i niewłaściwie obsługiwane.

Moje wykształcone domysły

Wygląda na to, że ostrzegają przed umieszczeniem widoku przewijania w innym widoku przewijania, ponieważ dotyku można mylić między wewnętrznym i zewnętrznym widokiem przewijania.

Ale istnieje bardzo ważny powód, aby chcieć to zrobićUIWebView wewnątrz widoku przewijania. Widoki z sieci nie sąwłaśnie przewiń widoki.UIWebView może łatwo wyświetlić szeroki zakressieć zawartość.

Jeśli nie ma potrzeby zezwalania na przewijaniew ciągu UIWebView sam, a ty wyłączasz przewijanie za pomocą:

webView.userInteractionEnabled = NO;

lub

webView.scrollView.scrollEnabled = NO;

czy naprawdę jest jakiś problem z tym projektem?

Zastanawiam się, czy to częściowo artefakt oryginałuUIWebView interfejs, gdzie ci nie dałbezpośredni (i udokumentowany) dostęp do jego osadzonegoUIScrollView (aby móc łatwo wyłączyć przewijanie). Może to stwierdzenie w dokumentach Apple jest tego spuścizną?

Kontekst projektu

Pytam, ponieważ utrzymuję aplikację (napisaną przez kogoś innego), która wykorzystuje garść widoków internetowych wewnątrz widoku przewijania, co pozwala przewijać między nimi w poziomie. Treść internetowa musi być uznana za stałą (nie można jej zmienić) i pokazuje tylko jedną stronę treści na stronę HTML. Użytkownik musi być w stanie przewijać strony, tak wieleUIWebViews wewnątrz aUIScrollView zostały do ​​tego wybrane. Jak na razie wydaje się, że takmoże działać poprawnie.

Strony pokazują jednak obrazy pełnoekranowe, a wydajność przewijania jest problemem. Ale staram się ustalić, czy podstawowe zagnieżdżenie widoków internetowych wewnątrz widoków przewijania (o czym ostrzega Apple) jest naprawdę częścią problemu.

questionAnswers(2)

yourAnswerToTheQuestion