我有两个视图控制器:TableViewController(用作模式视图控制器)和ToolbarController。在界面生成器中,我有ToolbarView,它由ToolbarController控制。iPhone ViewController影响另一个ViewController的IBOutlet
ToolbarView具有一个IBOutlet的UIWebView该ToolbarController对照(使用工具栏上的按钮切换页面在网页视图)。
我需要的是能够让TableViewController更改ToolbarView中的UIWebview。
我该如何做到这一点?
TableViewController.h:
#import <UIKit/UIKit.h>
#import "ToolbarController.h"
#import "MyAppDelegate.h"
@interface TableViewController : UITableViewController {
NSMutableArray *widgetList;
IBOutlet UIWebView *webView;
}
@property(nonatomic,retain) IBOutlet UIWebView *webView;
@end
TableViewController.m:
#import "TableViewController.h"
#import "MyAppDelegate.h"
#import "ToolbarController.h"
#import "TableView.h"
@implementation TableViewController
@synthesize webView;
//Lots of working code omitted
//didSelectRowAtIndex below should change the webView in ToolbarView to Google's homepage but does not.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *urlAddress=[NSString stringWithFormat:@"http://www.google.com"];
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
[self dismissModalViewControllerAnimated:YES];
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
}
@end
该委托是否是TableViewController的子类? – LoganFrederick 2009-12-15 19:37:42
委托实际上是一种协议,与其他OO语言中的接口非常相似。这是一个给定的类实现的东西,但子类不涉及。我只是添加了很多代码,可以帮助您演示如何在这种情况下使用委托。如果您点击我提供的链接,您将学到更多。:) – pix0r 2009-12-15 20:07:35
pix0r,你是我的英雄。谢谢! – LoganFrederick 2009-12-15 23:04:26