2013-05-12 54 views
0

我對編程一般都比較陌生,但我試圖找到答案並未能結束。Webview無法在iOS應用程序中加載頁面

所以基本上我試圖創建一個具有地圖視圖場景中的應用,並能正常工作。然後我有另一個場景是用於網絡視圖。所以當你進入mapview場景時,會有一個按鈕將你帶到webview場景。

web視圖的場景,但沒有加載網頁可言,雖然我在不同的項目,沒有其他創建應用程序的網頁視圖部分編碼參與,它工作得很好。

這裏是編碼我到目前爲止:

#import <UIKit/UIKit.h> 
#import <MapKit/MapKit.h> 

@interface ViewController : UIViewController { 
    MKMapView * mapview; IBOutlet UIWebView *webview; 
} 

@property (nonatomic, retain) IBOutlet UIWebView*webview; 

@property (nonatomic, retain) IBOutlet MKMapView *mapview; 
-(IBAction)setMap:(id)sender; 
-(IBAction)getlocation; 



@end 

-------- 


@implementation ViewController 

@synthesize webview; 
@synthesize mapview; 


-(IBAction) getlocation { 
    mapview.showsUserLocation= YES; 
} 

-(IBAction)setMap:(id)sender { 
    switch(((UISegmentedControl *) sender).selectedSegmentIndex) { 
     case 0: 
      mapview.mapType= MKMapTypeStandard; 
      break; 
     case 1: 
      mapview.mapType= MKMapTypeSatellite; 
      break; 
     case 2: 
      mapview.mapType= MKMapTypeHybrid; 
      break; 

     default: 
      break; 



    } 




} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Release any cached data, images, etc that aren't in use. 
} 

#pragma mark - View lifecycle 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [webview loadRequest:[NSURLRequest requestWithURL: [NSURL URLWithString: @"http://www.google.com"]]]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

如果你能幫助,將不勝感激。讓我知道是否需要闡述。

+0

當然網絡意見在Xcode不會加載。有一個過於簡單的理由:Xcode中沒有Web視圖。你的*實際*意味着「在我的[你的] iOS應用程序中」 - 這完全不同,並且與Xcode無關。 – 2013-05-12 04:31:59

+0

你能否提供關於如何將URL請求傳遞給webView的代碼 – 2013-05-13 08:51:31

回答

0

首先確保viewDidLoad正在執行。有些情況下它不會被執行。

然後檢查webviewnil裏面的viewDidLoad。這很可能是你的問題。您可能沒有正確設置,或者在執行viewDidLoad之後設置它。

調試這個

最好的方法就是堅持在你的代碼中的loadRequest線斷點,看看,看看:

  1. 它到達斷點在所有
  2. 的網頁流量變量不是0x00000000000

PS:你應該刪除這些代碼:

MKMapView * mapview; IBOutlet UIWebView *webview; 
-(IBAction)setMap:(id)sender; 
@synthesize webview; 
@synthesize mapview; 

在最新版本的Xcode中不再需要它們,無論你從哪裏學習它,都已經過時。

此外,使用self.webview,而不是隻是webview。直接訪問是危險的,可能會導致錯誤。

0

創建webView的編程方式:

添加在viewDidLoad中:

UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds]; 

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.co.uk"]]]; 
       [self.view addSubview:webView]; 
+0

你能解釋在編程方式和設計時創建webview的問題嗎? – Girish 2013-05-13 04:37:02

+0

當您的界面使用目標/操作以標準蘋果方式使用標準界面時,IB可以幫助您提高生產力。 當你想讓用戶界面的行爲更有機,直觀而不僅僅是連接時,這是很麻煩的。您必須添加其他控制器才能從多個對象中合成一個語義UX模型,而自定義類在IB內不能很好地發揮作用。 – 2013-05-13 08:33:39

+0

但是在運行時不需要分配webview,因爲他已經在設計時添加了它。 – Girish 2013-05-13 08:43:28

0

請檢查網絡視圖的委託方法

[webview setDelegate:self]; 
相關問題