我目前有以下代码从另一个 View 加载 UIWebView。现在无论如何我可以有一个关闭按钮吗?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIWebView *webView=[[UIWebView alloc] initWithFrame:CGRectMake(0,0,320,480)];
[self.view addSubview:webView];
NSURLRequest *urlRequest;
NSURL *urlforWebView;
urlforWebView=[NSURL URLWithString:@"http://www.google.com"];
urlRequest=[NSURLRequest requestWithURL:urlforWebView];
[webView loadRequest:urlRequest];
}
我将加载一个使用 jquery mobile 构建的页面,因此页面内的关闭按钮也可以正常工作。但在导航栏上将是理想的。顺便说一句,我的应用程序没有 而不是 有一个 UINavigationBar
最佳答案
我会创建一个新的 UIViewController
子类,比如带 Nib 的 WebViewController
。然后,我将添加一个带有关闭按钮的UINavigationBar
和一个UIWebView
。然后要显示您的 Web View Controller ,您可以执行以下操作:
WebViewController *webViewController = [[WebViewController alloc] init];
webViewController.loadURL = [NSURL URLWithString:@"http://www.google.com"];
[self presentModalViewController:webViewController animated:YES];
[webViewController release];
在您的
WebViewController
中,您可以定义:@property (nonatomic, retain) IBOutlet UIWebView *webView;
@property (nonatomic, retain) NSURL *loadURL;
- (IBAction)close:(id)sender;
并实现这样的事情:
- (void)viewDidLoad {
[super viewDidLoad]
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:self.loadURL];
[self.webView loadRequest:urlRequest];
}
- (IBAction)close:(id)sender {
[self dismissModalViewControllerAnimated:YES];
}