Eu tenho um UIWebView
que dentro de UIScrollView
(scrollview contém outro componente)
Tentei habilitar o multitoque tanto no Interface Builder quanto no Programmatic,UIWebView
mas ele ainda não pode aumentar o zoom para html. Preciso lidar com o zoom maior no UIScrollView
e UIWebView
? Ou qualquer coisa que eu não tenho para definir?
objective-c
ios
cocoa-touch
uiwebview
zoom
calendarw
fonte
fonte
scalesPageToFit = YES
funciona, mas altera o tamanho do conteúdo padrão. Veja minha resposta. Isso será útil para você.Respostas:
Você DEVE definir scalePageToFit = YES para que qualquer pinça e zoom funcione em um UIWebView
fonte
OK, você precisa fazer o que precede, mas também o seguinte. Eu tinha uma visualização na Web na visualização principal e isso não funcionou.
<UIScrollViewDelegate>
no seu controlador de exibição, arraste o delegado da exibição de rolagem para o controlador de exibição no Interface Builder e implemente oviewForZoomingInScrollView
método. Isso deve retornar o ponteiro para o UIScrollView (retornar myScrollView).fonte
Com o JavaScript, você pode controlar o nível de zoom, embora a solução que eu encontrei não pareça suave.
Digamos que você tenha
<head>
:Para ampliar para 4x e ainda permitir que o usuário altere o zoom, altere o conteúdo duas vezes:
Alternar a largura é muito importante - caso contrário, o Mobile Safari tem sérios erros de repintura (devido à otimização excessiva).
Você não pode simplesmente definir
initial-scale
novamente - ele é ignorado pela segunda vez.fonte
Você precisa implementar o método viewForZoomingInScrollView no seu controlador ou o zoom não fará nada. (Eu realmente não sei por que isso deve ser necessário, mas pronto.)
Para informações detalhadas, consulte http://developer.apple.com/iphone/library/documentation/WindowsViews/Conceptual/UIScrollView_pg/ZoomZoom/ZoomZoom.html .
fonte