我有一个包含UIWebView的IB
#import <UIKit/UIKit.h>
@interface PostFunHorosViewController : UIViewController<UIWebViewDelegate>{
}
@property (nonatomic, retain) IBOutlet UIWebView *description;
@end
在ViewController上
- (void)viewDidLoad
{
[super viewDidLoad];
description.delegate = self;
[self.description loadHTMLString:[NSString stringWithFormat:@"<div align='justify'>%@<div>",[@"This is test string" stringByReplacingOccurrencesOfString: @"\n" withString:@"<br/>"]] baseURL:nil];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"webViewDidFinishLoad");
}
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@"webViewDidStartLoad");
}
这就是我在屏幕上添加IB的方式:
- (void)viewDidLoad
{
PostFunHorosViewController *postVC = [[PostFunHorosViewController alloc] initWithNibName:@"PostFunHorosViewController" bundle:nil];
[scroller addSubview:postVC.view];
[postVC release];
[super viewDidLoad];
}
我的问题是它从不调用webViewDidFinishLoad和webViewDidStartLoad。
此外,它也陷入了
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([IHOROSAppDelegate class]));
}
}
毫无例外。
我错过了什么。请帮我。提前谢谢。
答案 0 :(得分:1)
使用 -
self.description.delegate = self; (in viewDidLoad)
你早些时候在做什么 -
description.delegate = self;
虽然您尚未定义实例变量,但您已定义了属性。
答案 1 :(得分:0)
而是以编程方式获取代理尝试使用出口,因为您有XIB文件。 我建议打印这样的东西,
description.delegate=self;
NSLog(@"Self %@",self);
因此,您可以清楚地了解设置代理的位置。