2013-11-28 34 views
0

在我的項目中,我有2個UIWebViews,它們是IBOutlets並在main.storyboard中創建。iOS 7 UIWebView不一致加載

一個我通過調用ViewDidAppear上的方法加載。它看起來很完美,並擊中了所有委託方法。我們稱之爲ViewA

另一個應該是隱藏的,當用戶點擊一個按鈕時會出現並加載。我們將調用這個ViewB。但是,一旦我提交請求,什麼都不會發生,沒有任何委託方法被調用。

ViewA加載完美。如果我嘗試在ViewDidAppear上加載ViewB,它也會加載。

編輯:將ViewA和ViewB加載方法調用移動到ButtonPress方法調用都成功。

編輯:代碼

-(void)loadCarouselWebView //ViewA 
{ 
    NSString *urlString  = [NSString stringWithFormat:@"%@%@",[[JSONReader sharedInstance] baseURLToLoad:environmentURLPublicKey],[[JSONReader sharedInstance] URLToLoad:kCarouselURLkey]]; 

    NSURL *url    = [NSURL URLWithString: urlString]; 

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

    self.carouselWebView.delegate = self; 

    [self.carouselWebView loadRequest: requestObj]; 

} 
-(void)loadFullWebView:(int)index //ViewB 
{ 
    NSString *gameURL; 

    switch (index) { 
     case 1: 
      gameURL = game1Constant; 
      break; 
     case 2: 
      gameURL = game2Constant; 
      break; 
     case 3: 
      gameURL = game3Constant; 
     default: 
      break; 
    } 

    NSString *urlString  = [NSString stringWithFormat:@"%@%@",[[JSONReader sharedInstance] baseURLToLoad:environmentURLKey],[[JSONReader sharedInstance] URLToLoad:gameURL]]; 

    NSURL *url = [NSURL URLWithString:urlString]; 

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

    self.fullWebView.delegate = self; 

    [self.fullWebView loadRequest: requestObj]; 


} 

- (IBAction)gameButtonPushed:(id)sender { 
    [[self fullWebView] setHidden:NO]; 
    [[self backNavButton] setHidden:NO]; 

    [self loadFullWebView:[sender tag]]; 
    [self loadCarouselWebView];//Added for debugging 
} 

編輯:按鈕自來水只能加載ViewB。如果我在ViewDidAppear上加載ViewA,那麼ViewB將不會加載。

+1

請添加您的代碼,以便我們幫助您找到自己的錯誤。 –

+0

添加代碼和新信息。 – Conor

+1

你確定那些網絡視圖存在?即如果你在它們上調用'NSLog()',你會得到一個有效的對象,它是窗口中的子視圖? –

回答

0

令人驚訝的是,UIWebView沒有任何問題。 這是我的錯,沒有仔細閱讀代碼。

有人將一次性計數器編入我遺漏的shouldStartLoadingRequest委託方法中。所以只有一個請求被允許加載。

這就像那裏2天燒,偉大的東西! >:E