2015-09-01 35 views
11

TL; DR: Birden çok ViewControllers arasında paylaşılan tek bir UIWebVIew uygulamanız gerekiyor. Soru şu ana kadar bütün yaklaşımlarımı içeriyor.Farklı görünümde aynı UIWebView'ı kullanmaKontrolörler

AppDelegate:

@property (strong, nonatomic) UIWebView *singleWebView; 

firstViewController:

@property (weak, nonatomic) IBOutlet UIWebView *webView; 

- (void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear: animated]; 
    NSLog(@"Removing webview from the first VC"); 

    [self.webView removeFromSuperview]; 
    self.webView.delegate = nil; 

    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    appDelegate.singleWebView = self.webView; 

    self.webView = nil; 
} 

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { 
    NSURL *URL = [request URL]; 

    if ([[URL absoluteString] isEqualToString:@"myapp://postsShow"]) { 
     [self performSegueWithIdentifier:@"postsShowSegue" sender:self]; 
     return false; 
    } 
    return true; 
} 

PostsShowViewController

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    [self.viewContainer addSubview: appDelegate.singleWebView]; 
} 

olarak ilk görüntüleyici denetleyicisi, ilk önce gönderilerin listesini gösteren tek sayfamdaki uygulamanızı yüklerim. Ardından, kullanıcı yayınlardan birini görür ve ikinci Görünüm Denetleyicisine yönlendirilir. 'u ikinci ViewController'da ilk ViewController'da kullanılan UIWebView'ı yeniden kullanmak istiyorum, böylece web sayfasını yeniden yüklemem gerekiyor.

Sorun şu ki, addSubview'dan sonra UIWebView yüklenmemiş gibi görünüyor. Ben sadece bir kap olarak kullandığım bir UIView görüyorum. Bana bazı hata ayıklama noktaları verebilirseniz gerçekten yardımcı olur.

enter image description here

+0

İçeren görünümün boyutunu ayarlamayı denediniz mi? Onun boyutu nedir? – Shripada

+0

@Shripada Daha fazla günlük kaydı ile düzenlenmiş –

+0

Bu şekilde kötü davranılırsa web görünümünün doğru olmayacağından endişe ediyorum ... diziyi ayarlamayı denediniz mi? Web görünümünde –

cevap

1

Sonunda anladım. UIWebView örneğini FirstViewController'dan kaldırdıktan sonra bile tutma sayısı her zaman 2 idi. UIWebView filmini storyboard'dan çıkardım ve firstViewController yüklendiğinde program aracılığıyla oluşturdum. Ben de herşeyi aynı bıraktım. Sonunda webView'u yeniden kullanmaya başlayabilirim.

İlgili konular