2012-09-25 78 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在視圖 - 控制您的回覆