UIWebView mostra UIActivityIndicator para carregar, mas ignora solicitações adicionais de carga (por exemplo, anúncios carregados com javascript) após o carregamento inicial da página

Este é um post de perguntas e respostas. Para informar os muitos outros usuários que vi que lutaram com esse problema enquanto eu navegava no banco de dados do StackOverflow. Nenhum desses usuários conseguiu uma resposta sólida (e a maioria deles estava levantando a questão anos atrás, então eu não ia bater o post).

A questão com a qual muitos lutaram é a seguinte:

Quando você tenta carregar uma página em um UIWebView e a página carrega outra página talvez através de um iFrame ou carrega um anúncio através de javascript você acaba recebendo a função de carregamento de página chamada novamente e se você estiver usando um UIActivityIndicator ele será chamado novamente bem e incomodar seus usuários.

A correção para isso é armazenar o MainURL anterior e verificar o novo MainURL que está tentando ser carregado, se eles corresponderem a ignorar a função de carregamento. (Exemplo de código na minha resposta abaixo)

** Um exemplo de uma página da Web que chamará owebViewDidStartLoad método vezes adicionais após a página web já terrealmente carregado seria: www.speakeasy.net/speedtest/

questionAnswers(2)

yourAnswerToTheQuestion