在我的应用程序中,我从界面构建器的库中拖动了一个View,并将其链接到AppDelegate。
我的问题是“我可以在View中添加UIWebView吗?”
如果为视图创建一个特殊的类(UIView类),哪个方法的行为类似于viewDidload?
答案 0 :(得分:3)
是的,您可以在View中添加UIWebView。
[UIWebView *aWebView =[[UIWebView alloc] initWithFrame:CGRectMake(x,y,width,height)]; aWebView.delegate=self;
[self.view addSubview:aWebView];
[aWebView release];
在上面的代码中,您将WebView的委托设置为self。因此,您可以使用UIWebView的委托方法,如
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
- (void)webViewDidFinishLoad:(UIWebView *)webView
有关详细信息,请参阅此链接。
答案 1 :(得分:1)
是的,你可以简单地使用 -
在你的h文件中添加
@interface YourView:UIView<UIWebViewDelegate>{
在你的m文件中添加
CGRect frame = CGRectMake(0,0,200,200);
UIWebView *webView =[[UIWebView alloc] initWithFrame:frame)];
webView.delegate = self;
[self addSubview:webView];
答案 2 :(得分:1)
CGRect rect=CGRectMake(x,y,width,height) ;
UIWebView *webView1 =[[UIWebView alloc] initWithFrame:rect)];
webView1.delegate=self;
[self.view addSubview:webView1];
[webView1 release];
答案 3 :(得分:0)
如果您查看的插座名为myView:
.h文件
@interface myViewController:UIViewController <UIWebViewDelegate> {
IBOutlet UIView *myView;
}
.m文件
UIWebView *,myWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,myView.frame.size.width,myView.frame.size.height)];
myWebView.delegate = self;
[myView addSubView:myWebView];
创建另一个子类来监听视图的deleagte方法并不是必要的,我现在将你的UIView视为UIWebView,因此使用UIWebView的委托方法,如下所示:
- (void)webViewDidStartLoad:(UIWebView *)webView {
NSLog(@"started loading");
}
更多委托方法可以是found here in the documentation。如果您希望在加载UIWebView时在其他类中触发某些内容,您还可以使用NSNotificationCenter来监听自己的应用程序范围。