2012-09-25 39 views
20

我一直在尝试这一段时间,但我没有弄清楚它的正确性。以编程方式创建UIWebView

我写了下面的初始化函数中的一个配套文件:

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
    webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 1024,768)]; 
} 
    return self; 
} 

和ViewController.m

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UIWebView *view = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)]; 
    NSString *[email protected]"http://www.google.com"; 
    NSURL *nsurl=[NSURL URLWithString:url]; 
    NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl]; 
    [view loadRequest:nsrequest]; 
} 

我也试着创造的appDelegate的didFinishLaunchingWithOptions:方法的WebView以下,但也没有工作。

什么是正确的方法?

回答

4

看起来你已经忘记了添加webview作为其父视图的子视图:

-(id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 1024,768)]; 
     [self addSubview:webview]; 
    } 
    return self; 
} 

而且viewDidLoad不是创建子视图正确的地方。您应该公开webview为您的视图的属性,然后从viewDidLoad访问它,就像这样:

NSString *[email protected]"http://www.google.com"; 
NSURL *nsurl=[NSURL URLWithString:url]; 
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl]; 
[[self.view webview] loadRequest:nsrequest]; 
+0

感谢的接口,但即时得到错误的self.view – user1153798

+0

@ user1153798如果代码是'UIViewController','self.view'应精细。 '.view'可能是错误的 - 请尝试'[self.view webview]'(参见编辑)。 – dasblinkenlight

31

我希望这个解决方案将帮助你。

只需在- (void)viewDidLoad

UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 1024,768)]; 
    NSString *[email protected]"http://www.google.com"; 
    NSURL *nsurl=[NSURL URLWithString:url]; 
    NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl]; 
    [webview loadRequest:nsrequest]; 
    [self.view addSubview:webview]; 

在这里,我使用的web视图的静态帧添加这些行,您可以根据您的要求使用。

+0

我用web视图的静态框架,你可以根据你的要求使用。 – iBapu

0
UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 568)]; 
webView.delegate = self; 
NSString *[email protected]"http://www.google.com"; 
NSURL *nsurl=[NSURL URLWithString:url]; 
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl]; 
[webview loadRequest:nsrequest]; 
[self.view addSubview:webview]; 

声明UIWebviewDelegate在视图 - 控制您的回复