Documentata, o non documentata, una funzionalità, a volte, la si è costretti ad implementare per forza! Utile, in alcune situazione, è rimuovere lo scroll da un oggetto UIWebView. È interessante, in generale, notare come è possibile accedere ai componenti “interni” facenti parte dell’oggetto in questione: in questo esempio si recupera il puntatore all’oggetto UIScrollView presente nell’oggetto UIWebView:
1 2 3 4 | id scrollView = [[webView subviews] lastObject]; if([scrollView respondsToSelector:@selector(setScrollingEnabled:)]) { [scrollView performSelector:@selector(setScrollingEnabled:) withObject:NO]; } |
Da notare il controllo (per sicurezza) della capacità del puntatore scrollView di risolvere la chiamata al messaggio setScrollingEnabled. In alternatva si poteva verificare che il puntatore scrollView, definito come generico id, appartenesse alla classe UIScrollView.
Tuttavia preferisco questo tipo di controllo in quanto la presenza o meno di un messaggio (o metodo) non è garantita dalla sola verifica della classe; se consideriamo varie e possibile versioni della classe UIScrollView.
Inoltre notare come il metodo performSelector è invocato con il selettore impostato con i due punti, insieme a withObject:NO








4
[...] Very short snippet: rimuovere lo scroll da un oggetto UIWebView avevamo visto come era possibile rimuovere lo scroll da un oggetto UIWebView: 1234id scrollView = [...]