2014-10-01 2 views
-1

Я создаю UIScrollView и внутри него создаю несколько UIWebViews для прокрутки между ними.
Для управления памятью я даю каждому тегу UIWebView, когда он был создан, и после того, как я перейду к следующему, я удалю его с помощью тега, но у меня все еще проблема с памятью и приложение завершено.не удается удалить UIWebView

Может ли один иметь лучшее представление о удалить неиспользуемые UIWebView удалить после следующего +-& предыдущих-1 это мой код примечания {я использую ARC}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
// NSLog(@"will ViewDidEndDecelerating "); 
    // NSLog(@"HI I AM end decelerating "); 
    if (lastContentOffset < (int)self.scrollView.contentOffset.x) { 

     if (pageReference < 5) { 

     pageReference ++; 

      if (pageReference>1) { 
       [[self.scrollView viewWithTag:pageReference-1] removeFromSuperview]; 

//    UIWebView*deleted =[[UIWebView alloc]init]; 

//    NSLog(@"delete page number%d ",pageReference-1); 

      }else{//NSLog(@"exep error"); 
      } 
     } 


     if (pageReference>3) { 
//   NSLog(@">>>>>>>>>4 %d",pageReference); 
     }else{ 
      [self createWebViewWithTag:pageReference+1]; 
     } 

//  NSLog(@"iam at te end of deckleration ++ and my page reference is %d",pageReference); 

//  [[self.scrollView viewWithTag:tag-3] removeFromSuperview]; 

     NSIndexPath *indexPath = [NSIndexPath indexPathForRow:pageReference inSection:0]; 

     [self.tableView deselectRowAtIndexPath:indexPath animated:YES]; 
     [self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:(0)]; 
//  NSLog(@"page : %d",pageReference); 
    //  [self setupScrollView]; 
    //  startTime = mach_absolute_time(); 
    //  [self saveData]; 

     } 

    else if (lastContentOffset > (int)self.scrollView.contentOffset.x) { 
//  NSLog(@" Move back"); 

     if (pageReference>0) { 
     pageReference --; 

//  NSLog(@"iam at te end of deckleration -- and my page reference is %d",pageReference); 

     NSIndexPath *indexPath = [NSIndexPath indexPathForRow:pageReference inSection:0]; 

     [self.tableView deselectRowAtIndexPath:indexPath animated:YES]; 
     [self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:(0)]; 
//  NSLog(@"page : %d",pageReference); 

     if (pageReference>0) { 

//   NSLog(@"Create Reference %d",pageReference); 
      [self createWebViewWithTag:pageReference-1]; 

     } 
     else{ 
      // NSLog(@"iam not need -1 view "); 
     } 
//  startTime = mach_absolute_time(); 
//  [self saveData]; 

    } 
    else { 
//  NSLog(@"no Move "); 
    } 
// NSLog(@"page Reference : %d",pageReference); 
    }else{ 
     //NSLog(@"restricted < 0 "); 
    } 

} 


- (void) createNextWebViewWithTag:(int)tag { 

// NSLog(@"The Current WebViewTagIn NextView Creation%d",tag); 

    int tagPlusOne= tag+1 ; 
// int tagMinusOne= tag-3 ; 

    int DimensionXpoint = tagPlusOne*1024; 

    UIWebView*webview = [[UIWebView alloc] initWithFrame:CGRectMake(DimensionXpoint , 0, 1024, 768)]; 

    webview.tag = tagPlusOne; 
// NSLog(@"webView THe Tag%d",webview.tag); 
    webview.delegate = self; 
    webview.scrollView.delegate = self; 
    webview.scrollView.scrollEnabled = NO; 


// currentSlide= [NSString stringWithFormat:@"procto_slide%d", tagPlusOne]; 
// currentSlideReference = [NSString stringWithFormat:@"HemaGel_procto_0%d", tagPlusOne]; 



// NSString *Currentpath = [[NSBundle mainBundle] pathForResource:currentSlide ofType:@"html"inDirectory:currentSlideReference]; 


    ////////////// 
// NSURL *currentUrl = [NSURL fileURLWithPath:Currentpath]; 

// NSURLRequest *Currentrequest = [NSURLRequest requestWithURL:currentUrl]; 

    [webview loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"Slide_%d", tagPlusOne] ofType:@"html"inDirectory:[NSString stringWithFormat:@"Slide_%d", tagPlusOne]]]]]; 
    [self.scrollView addSubview:webview]; 

// UIWebView *deleted = [[UIWebView alloc]init]; 
    /* if (tag>3) { 

    [[self.scrollView viewWithTag:tag-3] removeFromSuperview]; 

     NSLog(@"webView.Tag %d",webview.tag); 
    }*/ 
} 
+0

Какие у вас ошибки в вашем стеке? –

+0

Завершена из-за давления в памяти – cat

+0

Использовали ли вы Инструменты, чтобы увидеть, когда и где произошла ошибка? Возможно, это содержание веб-просмотров. –

ответ

0

я использую UIPageViewController это дает я лучше Производительность и все делаю спасибо & с наилучшими пожеланиями

Смежные вопросы