#iphone #objective-c
#iPhone #objective-c
Вопрос:
В HTML-строке, которую я получаю, есть это. <br/> Затем это отображается UIWebView как
среди остального текста.
Когда я NSLog строку, содержащую html, она содержит
amp;<br/amp;>
в том месте, где
появляется в UIWebView.
Почему это происходит? Если это допустимый HTML, должен ли UIWebView перейти на новую строку, а не рисовать это?
Кто-нибудь может предложить решение этой проблемы?
Большое спасибо, -Code
Редактировать
Вот код, в котором я использую UIWebView
aWebView2 = [[UIWebView alloc] initWithFrame:CGRectMake(0, 45 offset cumlativeOffset,480 , 50)];//init and create the UIWebView
aWebView2.autoresizesSubviews = YES;
aWebView2.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
[aWebView2 setBackgroundColor:[UIColor clearColor]];
[aWebView2 setOpaque:NO];
[aWebView2 setDelegate:self];
NSMutableString * indicationAndDose2 = [[NSMutableString alloc] init];
[indicationAndDose2 appendString:@"<html><style type="text/css">"
"html {-webkit-text-size-adjust:90%;color:#145e59; background-color:white }"
"body {font-family:"Helvetica"}"
"</style><body>"];
[indicationAndDose2 appendString:@"<b>CONTRAINDICATIONS:</b>"];
NSLog(@"v1x");
[indicationAndDose2 appendString:theMonograph.contra_indications];
[aWebView2 loadHTMLString:indicationAndDose2 baseURL:nil];
[[[aWebView2 subviews] lastObject] setScrollEnabled:NO];
NSLog(@"v1y");
[scrollview addSubview:aWebView2];
Еще раз спасибо,
-Код
Комментарии:
1. Добавлен некоторый код по запросу Twelve47 🙂
2. что вы используете для написания этого br?
3. Если html содержит <br/> , webview перейдет на новую строку. Но если html содержит <br/> вместо этого, webview будет рисовать «<br/>». Это совершенно нормально, поскольку «<» является управляющим символом для «<«, а «amp; >» является управляющим символом для «>». Сле довательно, проблема, похоже, заключается в генерации html.
4. Есть ли способ удалить управляющие символы? Или мне самому удалить их из строк грубой силой?
Ответ №1:
Как заполнить эту строку переменной — «theMonograph.contra_indications»? Его швы уже содержат символы в кодировке URL (amp;lt,amp;gt).
О кодировании / декодировании строк URL вы можете проверить эти методы:
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding
stringByReplacingPercentEscapesUsingEncoding
CFURLCreateStringByAddingPercentEscapes
CFURLCreateStringByReplacingPercentEscapes