我已经创建了一个自定义UIWebView。在某些类中,如果我包含我的自定义UIWebView,我需要知道Web视图加载是否完成。 我可以使用webViewDidFinishLoad在自定义类中获取它,但是如何将其传输到我已添加此自定义UIWebView的主视图。我需要在加载WebView时启用一些按钮。
我希望你能理解。 谢谢
答案 0 :(得分:1)
我认为好的解决方案是创建委托模式。您可以将类(包括UIWebView)作为委托传递,然后当UIWebView完成时,您只需要回调该类以通知
在自定义UIWebView中:
UIMyWebView.h:
@property (nonatomic, assign) id delegate;
@property (nonatomic, assign) SEL callback;
- (id)initWithDelegate:(id)delegate callback:(SEL)callback;
UIMyWebView.m:
- (id)initWithDelegate:(id)aDelegate callback:(SEL)aCallback {
delegate = aDelegate;
callback = aCallback;
}
- webViewDidFinishLoad {
[delegate performSelector:callback];
}
YourCaller.m:
- finishLoading {
// do something when finish loading
}
- myMethod {
UIMyWebView *webView = [[UIMyWebView alloc] initWithDelegate:self callback:@selector(finishLoading)];
}