I am creating a simple UIWebView like shown.
All works fine but the websites are corrupted. it looks like, the images arent loaded.
Curious is, that in the Browser, the same page is loading fine O_o Any Ideas?
#import "WebViewController.h"
#interface WebViewController ()
#property NSURL *adUrl;
#property (weak, nonatomic) IBOutlet UIWebView *webView;
#end
#implementation WebViewController
-(id) initWithUrl:(NSURL *)url
{
self = [super init];
if (self)
{
self.adUrl = [NSURL new];
self.adUrl = url;
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self.webView loadRequest:[NSURLRequest requestWithURL:self.adUrl]];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end
Task solved. The Problem was, that an old Class which was responsible for WebCaching was disturbing the redirect and on that way it suppressed the load of baseURL objects. Thanks for givin me ideas how to solve.
Cheers
Related
Does anyone know how to leave pdf with webview
this app is done with xcode,i learn it from internet
but I got a issue, when I click a download link
it would open the file in app , but I can't go back to
previous page , I can't do anything but close app & restart
So what should I add to make app go back to previous page
here is my app ,
viewcontroller.h
#import <UIKit/UIKit.h>
#interface ViewController : UIViewController
#property (weak, nonatomic) IBOutlet UIWebView *webview;
#end
viewcontroller.m
#import "ViewController.h"
#interface ViewController ()
#end
#implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSURL *url = [NSURL URLWithString:#"http://mywebsite/index.php"];
[self.webview loadRequest:[NSURLRequest requestWithURL:url]];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end
I have an important question. I'm creating an iPhone app.
I have an UIWebView (https://www.google.de/) with goBack, goForward and reload.
Now, I want a Button e.g. Bar Button Item named Home or Homepage, to open an URL (https://www.google.de/) in this WebView, to go back to the homepage.
How can I do this? How can I "say" the button to open the link in my WebView? I ask for answer.
// ViewController.h
#import <UIKit/UIKit.h>
#interface ViewController : UIViewController
#property (nonatomic, strong) IBOutlet UIWebView *site ;
#end
// ViewController.m
#import "ViewController.h"
#interface ViewController ()
#end
#implementation ViewController
-(IBAction)refresh:(id)sender; {
NSURL *url=[NSURL URLWithString: #"https://www.google.de/"]; NSURLRequest * requestURL=[NSURLRequest requestWithURL:url]; [_site loadRequest:requestURL];
}
- (void)viewDidLoad {
[self refresh:self];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end
UIWebView has methods, goBack and goForward. You can make actions and bind it with your bar buttons to go back and forward whenever you want.
- (IBAction)goBack:(id)sender {
[_site goBack];
}
- (IBAction)goForward:(id)sender {
[_site goForward];
}
- (IBAction)goHomepage:(id)sender {
NSURL *url=[NSURL URLWithString: #"https://www.google.de/"];
NSURLRequest *requestURL=[NSURLRequest requestWithURL:url];
[_site loadRequest:requestURL];
}
To help you more, here's a tutorial on this, and if you don't want to read that tutorial, you can check their source code from here !
I am a new programmer and I'm making my first app, i already made the Android one. I'm having troubles with the webviews in Xcode.
I saw this tutorial Xcode 5 Creating a Web View
And now I'm able to make one functional webview. My question is: Do I have to create one ViewController by every webview that I'd like to make? Or can i use one ViewController for 50 webviews?
I tried using the same ViewController for two webviews. The first one works, the second one does nothing.
nsotrosWebViewController.h
#import <UIKit/UIKit.h>
#interface nsotrosWebViewController : UIViewController
#property (weak, nonatomic) IBOutlet UIWebView *Nosotros;
#property (weak, nonatomic) IBOutlet UIWebView *Tienda;
#end
nsotrosWebViewController.m
#import "nsotrosWebViewController.h"
#interface nsotrosWebViewController ()
#end
#implementation nsotrosWebViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Webview nosotros-spanish
NSURL *nosotrosURL = [NSURL URLWithString:#"http://google.com"];
NSURLRequest *nosotrosRequest = [NSURLRequest requestWithURL:nosotrosURL];
[_Nosotros loadRequest:nosotrosRequest ];
// Webview tienda-spanish
NSURL *tiendaURL = [NSURL URLWithString:#"http://google.com"];
NSURLRequest *tiendaRequest = [NSURLRequest requestWithURL:tiendaURL];
[_Tienda loadRequest:tiendaRequest ];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end
I also tried creating one ViewController for each webviews but it won't show more than 2 custom ViewControllers on the "Custom class" menu.
I am trying to load a series of urls based on the contents of my database i.e: http://www.whatever.com but when I run the app in the simulator nothing appears, my code reads as follows
.h file (imports statements excluded)
#interface FSFourthScreenViewController : UIViewController
//insert code to create web view
{
NSString * urlString;
UIWebView * FSWebView;
}
// properties
#property (nonatomic, retain) NSString * urlString;
#property (nonatomic, retain) IBOutlet UIWebView * FSWebView;
#end
.m file import statements excluded
#interface FSFourthScreenViewController ()
#end
#implementation FSFourthScreenViewController
#synthesize FSWebView, urlString;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
//background image
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:#"backgroundimage.png"]];
NSURL * url = [NSURL URLWithString:urlString];
NSURLRequest * requestObj = [NSURLRequest requestWithURL:url];
[FSWebView loadRequest:requestObj];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end
I have wired the webview correctly, and assigned the right field in the database. I also cleaned out xCode and the simulator, but still no joy... any ideas welcome?
add this code ,check your objects:
- (void)viewDidLoad
{
[super viewDidLoad];
//background image
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:#"backgroundimage.png"]];
NSURL * url = [NSURL URLWithString:urlString];
if (!url)
{
NSLog(#"url is nil!!!");
}
NSURLRequest * requestObj = [NSURLRequest requestWithURL:url];
if (!FSWebView)
{
NSLog(#"RSWebView is nil!!!");
}
[FSWebView loadRequest:requestObj];
}
i guess the url is nil ,or the webview is nil
Try it,
[self.FSWebView loadRequest:requestObj];
Set the urlString. In the code you provided, the urlString is never set, so the URL you create with it cannot be loaded.
You can follow this tutorial :
http://mrudulajampala.blogspot.ca/2012/10/uiwebview-tutorial.html
And you find its source code here:
https://sites.google.com/site/iphonesdktutorials/sourcecode/UIWebViewTutorialPart1.zip?attredirects=0
Hopefully it will help you out.
If your project is iOS6 and abrove you can use this tool the web inspector to be sure that the web page is loading without any error.
You can follow this tutorial :
http://moduscreate.com/enable-remote-web-inspector-in-ios-6/
i hope it will help you to find the problem
Your code is correct. But your urlString is null . That is why it is not showing anything.
you just add an an url , and then test for it
As I see you havent UIWebViewDelegate in your FSFourthScreenViewController.h. You need to add it and to add its delegate WebView methods to your FSFourthScreenViewController.m
Check documentation for more details of UIWebViewDelegate :
Documentation
Add
<UIWebViewDelegate> in your view controller
self.FSWebView.delegate=self;
NSURL* url = [NSURL URLWithString:#"http://i.wrightscs.com"]; //replace your string here
[self.FSWebView loadRequest:[NSURLRequest requestWithURL:url]];
Hope it helps you...
I'm new for iOS develop. I tried to make a very simple app just show a UIWebView which display a web page:
ViewController.m:
#import "ViewController.h"
#implementation ViewController
#synthesize webView = _webView;
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *urlAddress = #"http://jsfiddle.net/emj365/qaQnF/embedded/result/";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestObj];
}
...
ViewController.h
#import <UIKit/UIKit.h>
#interface ViewController : UIViewController {
UIWebView * _webView;
}
#property (nonatomic, retain) IBOutlet UIWebView * webView;
#end
UIWebView show blank. What's wrong?
There are a few different things that could go wrong. A few options you should check:
Did you check to see if the outlet was actually connected to the webview in the xib?
Implement the UIWebView delegate and check for (networking) errors