2009-03-23 11 views

Odpowiedz

1

UWAGA: ta odpowiedź pochodzi z roku 2009. Proszę spojrzeć na jedno z lepszych rozwiązań na bardziej cywilizowany wiek.


Programowe przewijanie UIScrollView jest teraz rozwiązanym problemem. Mam szczegółową dyskusję na temat tego, jak (i ​​dlaczego) działa powiększanie UIScrollView, przykładowy projekt i klasa ZoomScrollView, która zawiera wymaganą magię powiększania przy github.com/andreyvit/ScrollingMadness/.

Prawdopodobnie powinieneś umieścić swoje obrazy w UIScrollView, tak jak doradził Andy.

+0

Masz całkowitą rację. W czasie, od kiedy zadałem moje pytanie do teraz, skończyłem robiąc to w sposób podobny (nie tak kompletny) do twojej "ScrollingMadness". – Mike

+7

Jak to pomaga w przewijaniu UIWebView i ustawianiu poziomu powiększenia? –

+0

@BillCheswick Może czas na usunięcie tej odpowiedzi? Jest to zaakceptowane, więc nie jestem pewien, czy mam to zrobić, czy nie. –

0

To nie wygląda na udokumentowany sposób robienia tego, co chcesz. Alternatywą, która tylko w połowie rozwiązuje twój problem, jest użycie UIScrollView. Możesz umieścić UIImageViews w swoim UIScrollView, a następnie przewinąć do dowolnej pozycji w widoku przewijania. Nie pozwala to jednak na programowe powiększanie widoku. Jeśli jest coś, co Twoim zdaniem powinno być dodane do pliku SDK, to radar: http://bugreport.apple.com/

8

Ustaw atrybut scalesPageToFit z UIWebView na YES. Następnie strona internetowa jest skalowana do rozmiaru, a użytkownik może powiększać i pomniejszać.

0
for (id subview in webview) 
    if ([[subview class] isSubclassOfClass: [UIScrollView class]]) { 
     ((UIScrollView *)subview).bounces = NO; 
    } 
} 

spróbuj użyć tego przewijania.

2

Można to wykorzystać:

for (UIView *subview in webView.subviews) { 
    if ([subview isKindOfClass:[UIScrollView class]]) { 
     ((UIScrollView *)subview).bounces = NO; 
     [((UIScrollView *)subview) setZoomScale:10.5f animated:YES]; 
    } 
} 

To może być rozwiązanie problemu.

+0

dlaczego nie używać webView.scrollView.minimumZoomScale = 0,5; LUB webView.scrollView.maximumZoomScale = 20.0; itp – Umair

Powiązane problemy