我正在实施FB类型的功能
Menu和Webview都在不同的viewcontroller中
当点击菜单时,我向第一个viewcontroller和内部通知消息发送通知消息我将代码写入loadRequest。
然而这不起作用。我能够从第一个Viewcontroller成功加载请求。但是不可能从另一个viewcontroller做到。
这是我的代码:
ViewController 1:
ViewLoad中的
NSNotificationCenter *note = [NSNotificationCenter defaultCenter];
[note addObserver:self selector:@selector(eventDidFire:) name:@"ILikeTurtlesEvent" object:nil];
- (void) eventDidFire:(NSNotification *)note {
web.delegate=self;
[web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]];
}
ViewController 2: 中的
NSNotificationCenter *note = [NSNotificationCenter defaultCenter];
[note postNotificationName:@"ILikeTurtlesEvent" object:self];
答案 0 :(得分:0)
这可能是您尝试做的另一种选择:
viewcontroller1.h:
-(void)clickmenu:(id)sender;
viewcontroller1.m:
-(void)clickmenu:(id)sender
{
viewcontroller2 *obj = [[viewcontroller2 alloc] initWithNibName: @"viewcontroller2" bundle: [NSBundle mainBundle]];
[obj Loadwebview:[NSURL urlwithstring:@"http://www.google.com"]];
}
ViewController2.h:
-(void)Loadwebview:(NSURL *)url;
viewcontroller2.m:
-(void)Loadwebview:(NSURL *)url
{
web.delegate=self;
[web loadRequest:[NSURLRequest requestWithURL:url]];
}
答案 1 :(得分:0)
我找到了解决方案,我删除了该行:
web.delegate =自我; 和代码工作!!奇怪的 !!但是是真的 。这是我的工作代码:
- (void) eventDidFire:(NSNotification *)note {
// web.delegate=self;
[web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://192.168.11.77:5200/test/test.html"]]];
}
希望它能帮助别人! ":)