如何在类中设置UIWebView的委托方法?
当我这样做时,app apph。
@interface MineWebViewHandle : NSObject<UIWebViewDelegate>
@end
//。米
@implementation MineWebViewHandle
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *urlString = [[request URL] absoluteString];
return YES;
}
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@"did start load");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"did finished ");
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
NSLog(@"webview error:%@",[error localizedDescription]);
}
我用它:
self.m_pWebView = [[UIWebView alloc] initWithFrame:CGRectZero];
MineWebViewHandle *handle = [[MineWebViewHandle alloc]init];
self.m_pWebView.delegate = handle;
self.m_pWebView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.m_pWebView];
我该如何正确使用它?
答案 0 :(得分:0)
您的委托看起来像是在viewDidLoad中创建,并且在此版本的最后发布(放到零)。
您需要创建一个名为:MineWebViewHandle * handle。
的属性 @property (nonatomic,strong)MineWebViewHandle *handle;
并更改代码:
self.handle = [[MineWebViewHandle alloc]init];
self.m_pWebView.delegate = self. handle;
这是个好主意,你的webView将有尺寸,改变这个:
self.m_pWebView = [[UIWebView alloc] initWithFrame:self.view.frame];
答案 1 :(得分:-1)
Webview
是UIView
,不是控制者。
请删除NSObject
并添加UIview
@interface MineWebViewHandle : UIView
@end