Unable to load html string in UIWebView using loadHTMLString:baseURL in iOS?

28,806

Solution 1

WebView *webDesc = [[UIWebView alloc]initWithFrame:CGRectMake(12, 50, 276, 228)];

NSString *embedHTML = @"<html><head></head><body><p>1. You agree that you will be the technician servicing this work order?.<br>2. You are comfortable with the scope of work on this work order?.<br>3. You understand that if you go to site and fail to do quality repair for  any reason, you will not be paid?.<br>4. You must dress business casual when going on the work order.</p></body></html>";

webDesc.userInteractionEnabled = NO;
webDesc.opaque = NO;
webDesc.backgroundColor = [UIColor clearColor];
[webDesc loadHTMLString: embedHTML baseURL: nil];

Solution 2

It is very simple. You just have to add only one line. Try It:

NSString *htmlString = @"<html><head></head><body><p>1. You agree that you will be the technician servicing this work order?.<br>2. You are comfortable with the scope of work on this work order?.<br>3. You understand that if you go to site and fail to do quality repair for  any reason, you will not be paid?.<br>4. You must dress business casual when going on the work order.</p></body></html>";
[WebView loadHTMLString: htmlString baseURL: nil];

Solution 3

- (NSString *)getHTMLContent
{
    NSString *cssPath = [[NSBundle mainBundle] pathForResource:@"baseline" ofType:@"css"];

    NSData *cssData = [NSData dataWithContentsOfFile:cssPath];
    NSString *cssStyle = [[NSString alloc] initWithData:cssData encoding:NSASCIIStringEncoding];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];

    NSString *subtitle = [NSString stringWithFormat:@"%@ | %@", self.article.author, [dateFormatter stringFromDate:self.article.publishedDate]];

    NSString *htmlString = [NSString stringWithFormat:@"<html><head><meta name='viewport' content='width=device-width; initial-scale=1.0; maximum-scale=1.0;'></head><style type=\"text/css\">%@</style><body><div id=\"container\"><h1>%@</h1><p class='subtitle'>%@</p>%@</div></body></html>", cssStyle, self.article.title, subtitle, self.article.content];

    return htmlString;
}
Share:
28,806

Related videos on Youtube

Bharath
Author by

Bharath

Senior iOS &amp; Android apps developer.

Updated on May 16, 2020

Comments

  • Bharath
    Bharath about 4 years

    I am trying to embed youtube video into my iOS application.For that I have created a UIWebView & trying to load the Youtube video from following here

    I have gone through the all the answers for the above problem. Even then its not working. I have also tried loading very simple HTML

     NSString *embedHTML =[NSString stringWithFormat:@"<html><body>Hello World</body></html>"];
     [webView loadHTMLString:embedHTML baseURL:nil];
    

    Even then, I am getting compile error Parse Issue Expecte ']'

    I have tried cleaning, quitting the XCode & relaunching it again. I donno, I am not able to use that method. How to use the above loadHTMLString method for my UIWebView.

    PS : Please do not tag this question as duplicate. I have tried all the solutions in Stackoverflow. Nothing has worked

  • Bharath
    Bharath almost 11 years
    This is what I did UIWebView *webView = [[UIWebView alloc] initWithFrame:myFrame]; NSString *embedHTML =[NSString stringWithFormat:@"<html><body>Hello World</body></html>"]; [webView loadHTMLString:embedHTML baseURL:nil]; Thats it, this is what I did. I am getting compile time error. That loadHTMLString method itself is not working. Even though everything is right, it showing Parse Issue Expecte ']' as compile error
  • Mike
    Mike almost 11 years
    Are you sure the error is from the webView? If you comment out the webView lines, the error disappear? Are you adding the webview to the main view?
  • Bharath
    Bharath almost 11 years
    Yes. Problem is with webview. If I comment that line, then everything is working fine. Even before adding itself I am getting the error.
  • Bharath
    Bharath almost 11 years
    @LithuT.V.. No, not because I left ]. I have even created a new project & there I have written the same line. I dint even copy paste it. I have typed manually everything. Even then same error in other project too :-(
  • Lithu T.V
    Lithu T.V almost 11 years
    which line you are talking about ??
  • Lithu T.V
    Lithu T.V almost 11 years
    webview frame please?also check webview has valid memory.connected properly .code seems ok to me
  • abdul sathar
    abdul sathar over 8 years
    Answer does not related with question