Pergunta

Eu tenho um aplicativo para iPhone baseado em UIWebView que lê em HTML a partir de um banco de dados SQLite. O usuário pode salvar novas informações, introduzido através de um UITextView que aceita retornos de carro. Como faço para exibir esses retornos de carro (quebras de linha) corretamente no UIWebView? Eu tentei usar algo como isto:

NSString *HTMLData = [mySQLiteDataObject text]; 
HTMLData = [HTMLData stringByReplacingOccurrencesOfString:@"\\n"
  withString:@"<br>"];  
[webView loadHTMLString:HTMLData baseURL:nil];

Mas não se parece com o texto é reconhecido como tendo as quebras de linha: o texto é exibido em uma linha contínua na webView. Quando eu imprimir o texto no console, ele vem completamente com as quebras de linha intactos.

Eu tentei usar \ n, \ r e \ r \ n no código de exemplo acima, sem sucesso. Am I poupança de texto do usuário incorretamente, ou fazendo a coisa errada no lado da tela?

Foi útil?

Solução

Eu posso ver duas barras invertidas em sua cadeia de pesquisa:. Você tem que substituir "\n", não "\\n" para que ele funcione

Mas você realmente quer sanear sua entrada antes de carregá-lo na UIWebView. Pelo menos você tem para mascarar <,>, &, e".

Outras dicas

Se não me engano, quando substituir "\\n" com uma tag de quebra HTML ele deve ser parecido com isto:

 HTMLData = [HTMLData stringByReplacingOccurrencesOfString:@"\\n"
  withString:@"<br />"]; 

Parece que estava faltando a barra na instrução break.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top