Я получаю этот тип строки из веб-сервиса

The following fees and deposits are charged by the property at time of service, check-in, or check-out.

  • Fee for in-room wireless Internet: USD 0.00 per night (rates may vary)
  • Fee for in-room high-speed Internet (wired): USD 0.00 per night (rates may vary)
  • Fee for wireless Internet in public areas: USD 0.00 per night (rates may vary)
  • Pet fee: USD 50 per pet, per stay
  • Crib (infant bed) fee: USD 0.00 per night
  • Rollaway bed fee: USD 12.00 per night

The above list may not be comprehensive. Fees and deposits may not include tax and are subject to change.

Как отобразить его в приложении для iphone. Помогите мне, пожалуйста!!!

Monika

Ответов: 4

Ответы (4)

Используйте textView для отображения html-текста

и попробуйте это...

NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];

textView.attributedText = attributedString;

Если вы получаете данные, как указано выше, из HTML, вы можете отобразить их следующим образом.

Как правило, если мы хотим отобразить html-данные на iPhone, мы можем использовать WebView. Большинство предпочитают именно его для отображения HTML-данных. Даже в своем проекте я использовал WebView вместо UITextView. Сначала я использовал UITextView, но он не помог правильно отобразить html-данные. Но когда я использовал UIWebView для отображения HTML-данных, он отображался очень правильно.

Сначала нужно установить UIWebView в XIB или STORYBOARD, после чего указать подключение к розетке.

Тогда выполните следующий код.

//For converting HTML to String
  NSString *stringHTML = @"

The following fees and deposits are charged by the property at time of service, check-in, or check-out.

  • Fee for in-room wireless Internet: USD 0.00 per night (rates may vary)
  • Fee for in-room high-speed Internet (wired): USD 0.00 per night (rates may vary)
  • Fee for wireless Internet in public areas: USD 0.00 per night (rates may vary)
  • Pet fee: USD 50 per pet, per stay
  • Crib (infant bed) fee: USD 0.00 per night
  • Rollaway bed fee: USD 12.00 per night

The above list may not be comprehensive. Fees and deposits may not include tax and are subject to change.

"; [webView loadHTMLString:stringHTML baseURL:nil]; //Then If you want to change font-size,style do like below in webView delegate method - (void)webViewDidFinishLoad:(UIWebView *)webView { //Font size int fontSize = 80; NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'", fontSize]; [webview stringByEvaluatingJavaScriptFromString:jsString]; //Font Family Style - Bold NSString *jsWebViewFontFamilyString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.fontFamily = 'HelveticaNeue-Bold'"]; [webview stringByEvaluatingJavaScriptFromString:jsWebViewFontFamilyString]; //Font Color or web view text color [webview stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.color = 'Green'"]; }
NSString *loadString = @"

The following fees and deposits are charged by the property at time of service, check-in, or check-out.

  • Fee for in-room wireless Internet: USD 0.00 per night (rates may vary)
  • Fee for in-room high-speed Internet (wired): USD 0.00 per night (rates may vary)
  • Fee for wireless Internet in public areas: USD 0.00 per night (rates may vary)
  • Pet fee: USD 50 per pet, per stay
  • Crib (infant bed) fee: USD 0.00 per night
  • Rollaway bed fee: USD 12.00 per night

The above list may not be comprehensive. Fees and deposits may not include tax and are subject to change.

;"; [_webview loadHTMLString:loadString baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

Попробуйте приведенный выше код

Лучший способ отобразить строку HTML из веб-сервиса в приложении iOS - использовать UITextView. Он обеспечивает лучший пользовательский опыт и помогает управлять производительностью приложения.

NSString *htmlString = @"

The following fees and deposits are charged by the property at time of service, check-in, or check-out.

    " NSAttributedString *string ; NSRange range; NSData *data = [htmlString dataUsingEncoding:NSUTF8StringEncoding]; string = [[NSAttributedString alloc]initWithString: htmlString]; while((range = [htmlString rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound) { string = [[NSAttributedString alloc] initWithData:data options: @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes: nil error:&err]; textview.attributedText = string; }

Это поможет вам разобрать все html-теги до нужного формата.

2022 WebDevInsider