0

我有一个应用程序,它有几个不同的按钮,可以看到不同的视图。其中一个视图将在 iPhone 上的 Safari 中打开一个网站,这是我想要发生的。问题是如果我想回到应用程序,我得到的只是一个白屏,我必须双击主页按钮,关闭应用程序并重新启动它。

这可能与释放内存或视图有关吗?我不确定如何修复它,所以在 safari 中查看网页后,我可以返回应用程序并继续查看其他视图。

这是我在 webViewController.m 中使用的

#import "webViewController.h"
@interface webViewController ()
@end
@implementation webViewController
- (void)viewDidLoad
{
NSURL *url = [ [ NSURL alloc ] initWithString: @"http://www.mydomain.com" ];

[[UIApplication sharedApplication] openURL:url];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end
4

2 回答 2

0

您可以使用 webView 加载此 url,然后您可以在此 webview 上创建一个后退按钮以返回您的应用程序而无需离开应用程序。

UIWebView * webView =[[UIWebView alloc]init];

webView.backgroundColor = [UIColor clearColor];

[webView setFrame: CGRectMake(0, 51, 320, 398)];

NSURL *url = [NSURL URLWithString:@"http://www.mydomain.com"];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView setDelegate:self];
webView loadRequest:requestObj];
[self.view addSubview:webView];

您还可以使用 webView 的一些委托方法来了解您的页面是否已加载

-(void)webViewDidStartLoad:(UIWebView *)webView
{


}

-(void)webViewDidFinishLoad:(UIWebView *)webView
{

}

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{

}
于 2013-02-13T06:18:48.313 回答
0

啊,我想通了,我已经添加

web view.scalesPagesToFit = Yes 

声明并在 webview 中打开网页完全符合我的要求。

于 2013-03-05T05:50:43.210 回答