Eu tenho um UIWebView no meu aplicativo que desejo usar para exibir uma imagem que será vinculada a outro URL.
estou a usar
<img src="image.jpg" /> to load the image.
O problema é que a imagem não carrega (ou seja, não pode ser encontrada), embora tenha sido adicionada como um recurso no meu projeto e copiada para o pacote.
Eu tentei usar o NSBundle para obter o caminho completo da imagem e usá-la, e ela ainda não aparece na exibição da web.
Alguma ideia?
Respostas:
O uso de caminhos ou arquivos relativos: caminhos para se referir a imagens não funciona com o UIWebView. Em vez disso, você deve carregar o HTML na visualização com a baseURL correta:
Você pode consultar suas imagens assim:
(de uiwebview revisitado )
fonte
Usa isto:
fonte
bundleURL
foi adicionada ao NSBundle. Não é necessário pegar o bundlePath e converter em URL. Portanto, para as pessoas que trabalham em versões superiores a 10,6, isso oferece uma solução melhor.Eu acabei de encontrar esse problema também. No meu caso, eu estava lidando com algumas imagens que não estavam localizadas e outras que estavam - em vários idiomas. Um URL base não conseguiu as imagens dentro de pastas localizadas para mim. Eu resolvi isso fazendo o seguinte:
Em seguida, use imgHTMLTag no seu código HTML UIWebView ao carregar o conteúdo.
Espero que isso ajude quem encontrou o mesmo problema.
fonte
file://
era o que eu precisava.tente usar a string de imagem base64.
fonte
Eu tive um problema semelhante, mas todas as sugestões não ajudaram.
No entanto, o problema era o próprio * .png. Não tinha canal alfa . De alguma forma, o Xcode ignora todos os arquivos png sem canal alfa durante o processo de implantação.
fonte
Você pode adicionar uma pasta (por exemplo, WEB com subpastas css, img e js e arquivo test.html) ao seu projeto, escolhendo Adicionar arquivos ao "MyProj" e selecionando Criar referências de pasta . Agora, o código a seguir cuidará de todas as imagens referidas, css e javascript
fonte
No Swift 3:
Isso funcionou para mim mesmo quando a imagem estava dentro de uma pasta sem nenhuma modificação.
fonte
Depois de ler alguns capítulos no iOS 6 Programming Cookbok e começar a aprender a programação do objetivo-c e do iOS, gostaria apenas de acrescentar que, se alguém quiser carregar recursos de um pacote personalizado e usá-lo em uma visualização na Web , pode ser realizado assim:
Em seu html, você pode consultar um recurso usando o pacote "personalizado" como seu caminho base:
fonte
Versão rápida da resposta da Lithu TV:
fonte
Versão rápida da resposta do Objetivo C de Adam Alexanders:
fonte
Se você usar links relativos às imagens, as imagens não serão exibidas, pois todas as estruturas de pastas não serão preservadas após a compilação do aplicativo iOS. O que você pode fazer é converter sua pasta da Web local em um pacote , adicionando a extensão de nome de arquivo ' .bundle '.
Portanto, se o site local estiver contido em uma pasta " www ", isso deverá ser renomeado para " www.bundle ". Isso permite que as pastas de imagens e a estrutura de diretórios sejam preservadas. Em seguida, carregue o arquivo ' index.html ' no WebView como uma string HTML com ' baseURL ' (definido como www.bundle path) para permitir o carregamento de links de imagem relativos.
fonte
Essas respostas me ajudaram - especificamente o arquivo: \\ xxxxxxx.xxx, mas eu tive que fazer uma solução alternativa para exibir a imagem.
No meu caso, tenho um arquivo HTML no meu servidor que faço o download no diretório de documentos. Quero que ele seja exibido com um gráfico local em um UIWebView que não consegui trabalhar. Aqui está o que eu fiz:
Portanto, na inicialização, copie o arquivo para o diretório de documentos:
fonte
Minha solução complexa (ou tutorial) para rss-feed (entre em RSSItems) funciona apenas no dispositivo:
e
}
no controlador de exibição
}
classe de item rss
parte de qualquer html com imagem
imagem salva para o nome htc-one-tab-7-concept-1 (1) .jpg
fonte