html load coming from NSString.
I have the following problem: I get html code and want to get a webView just not how to do and searched and have not found examples if anyone would be so kind to tell me how you do or would appreciate any example of.
UIWebView* newWebView = [[UIWebView alloc] initWithFrame:CGRectMake(x,y,width,height)];
[newWebView loadHTMLString:htmlString baseURL:[NSURL URLWithString:urlString]];
[self.view addSubview:newWebView];
[newWebView release];
Related
I hope someone can help me.
In one view of the app I've got a UIWebView where I'm showing the PDF file. I need to show 3 different PDF (a.pdf, b.pdf, c.pdf) in the same UIWebView. I know how to show one.
CGRect frame2 = CGRectMake(20, 25, 280, 350);
testWebView = [[UIWebView alloc] initWithFrame:frame2];
NSString *path = [[NSBundle mainBundle] pathForResource:#"a" ofType:#"doc"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[apneaWebView loadRequest:request];
[apneaWebView setScalesPageToFit:YES];
[self.view addSubview:testWebView];
But if are 3 different PDf what to do.
Thanks for any help.
Look at that: Can we display many pdf in a UIWebview?
You can only display a pdf in a UIWebView. You can try to create 3 different UIWebViews for every PDF or try to merge them.
This is how i added a youtube video to my project; I have added these to the viewDidLoad Function
UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 480, 300)];
NSString *html = #"<html><head> .........."; // its too long so i cut it short
[webView loadHTMLString:html baseURL:[NSURL URLWithString:#"http://www.youtube.com/embed/vLBKOcUbHR0"]];
[self.view addSubview:web];
The view what i see is;
And what i want is some thing like this
If you look closer, you will see a ToolBar and a DOne button, and also a UIActivityIndicator in the second image, and none of these are displaying in mine. How can i solve this ?
That's not really how you use baseURL. The Base URL is what relative links will be relative to if there are links in the HTML - mapping it to youtube probably won't help at all.
Instead, just copy the embed code from youtube, which looks like this:
<iframe width="420" height="315" src="http://www.youtube.com/embed/2WNrx2jq184" frameborder="0" allowfullscreen></iframe>
Copy the URL from the iframe and open it directly in your web view, like this:
NSURL *URL = [NSURL URLWithString:#"http://www.youtube.com/embed/2WNrx2jq184"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
[webView loadRequest:request];
That should work.
In My viewControllerOne,,,I am using tableview..and when I tap any row..I am using this code..to navigate to another page...
Feches *rOVc = [[Feches alloc] initWithNibName:#"Feches" bundle:nil];
rOVc.hidesBottomBarWhenPushed = YES;
rOVc.title = [NSString stringWithFormat:#"15 March 2011"];
rOVc.strURL = [[NSString alloc] initWithString:[[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:#"first_screen" ofType:#"png"]] absoluteString]];
[self.navigationController pushViewController:rOVc animated:YES];
[rOVc release];
Now When It navigate to Feches...
In that fetches's viewdidload I am using this code...
NSString *html = [NSString stringWithFormat:#"<html><head>\
<meta id='viewport' name='viewport' content='minimum-scale=0.2; maximum-scale=5; user-scalable=1;' />\
</head><body style=\"margin:0\"><img id=\"yt\" src=\"%#\"></body></html>", self.strURL];
NSLog(#"html:%#",html);
// Load the html into the webview
if(self.myWeb == nil) {
self.myWeb = [[UIWebView alloc] initWithFrame:self.view.frame];
[self.view addSubview:self.myWeb];
}
[self.myWeb loadHTMLString:html baseURL:[NSURL URLWithString:self.strURL]];
This is showing me image named...first_screen which is there in my images folder...
Now...I want to use text paragraph instead of image ...but with the same kind of html and all this..can anyone please suggest me what change do I have to do now for showing paragraphs instead of an Image??
Change your html string content. Replace <img id=...> with <p>text</p>.
You're leaking UIWebView (if self.myWeb retains). Change your code to:
self.myWeb = [[[UIWebView alloc] initWithFrame:self.view.frame] autorelease];
I have created a WebView programmatically. This works perfect. The code is below.
What I need to try and do now is inject NSStrings into it. I have an array of 30 strings. 15 Headings and 15 body-texts.
Is it possible to get these displayed inside the WebView? I'm guessing I need to change them into a HTML, i may be reformat them all into 1 long NSString with HTML-tags and linebreaks and newling-tags maybe?
Anybody able to help me with some pointers/code snippets to get me on the right track and moving the the correct direction please?
- (void) initUIWebView
{
aWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 290)];//init and
create the UIWebView
aWebView.autoresizesSubviews = YES;
aWebView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
[aWebView setDelegate:self];
NSString *urlAddress = #"http://www.google.com"; // test view is working with url to webpage
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[aWebView loadRequest:requestObj];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
[[self view] addSubview:aWebView];
}
Thanks
-Code
Instead of using the loadRequest method you will have to use the loadHTMLString method of UIWebView
The following code might help you in displaying the NSString in UIWebView
NSString *html = #"<html><head></head><body>The Meaning of Life<p>...really is <b>42</b>!</p></body></html>";
[webView loadHTMLString:html baseURL:nil];
Hope this will resolve your issue...
I wanted an entire page of text(multiple lines) in my settings similar to the one on iphone:
settings->general settings->About->Legal
I have not been able to do so. I tried entering title in PSGroupSpecifier, it gives me multiple lines but with a gray background. i wanted a white background.
Any help would be highly appreciated.
Thanks in advance
Use a UIWebView and store your page as a HTML file in your resources.
// Create the UIWebView
UIWebView *webView = [[[UIWebView alloc] initWithFrame:self.view.frame] autorelease];
// Add the UIWebView to our view
[self.view addSubview:webView];
// Load the HTML document from resources
NSString *pagePath = [[NSBundle mainBundle] pathForResource:#"legal" ofType:#"html"];
NSURL *pageURL = [NSURL fileURLWithPath:pagePath];
NSURLRequest *pageReq = [NSURLRequest requestWithURL:pageURL];
[webView loadRequest:pageReq];