2015-11-08 18 views
9

Quando mostro la barra di stato dell'annuncio interstitale si dissolve e la barra di navigazione si sposta verso l'alto. Tutto il contenuto nella barra di navigazione si sposta fino a. Quando chiudo l'annuncio, tutto si muove verso il basso. Sembra davvero strano e glitch.La barra di spostamento si sposta quando AdMob Interstital mostra

Sto utilizzando il controller di navigazione nello storyboard con la proprietà Show Navigation Bar.

codice per mostrare annuncio interstiziale in AppDelegate.m di file:

[self.interstitialAd presentFromRootViewController:self.window.rootViewController]; 

Fondamentalmente, ho bisogno di tutto per rimanere sul posto senza muoversi quando presento annuncio interstiziale.

+0

Prova Sotto: 'UINavigationController * aNavCntrl = [[UINavigationController alloc] initWithRootViewController: self.interstitialAd]; [aNavCntrl presentFromRootViewController: self.window.rootViewController]; ' –

+0

@SharmaVishal,' self.interstitialAd' è 'GADInterstitial' not' ViewController'. Inoltre 'UINavigationController' non ha il metodo' presentFromRootViewController'. Forse vuoi correggere il tuo commento? – user1561346

+0

Sì, perdono. Si è pensato solo :) –

risposta

3

Perché non provare quanto segue:

nello storyboard:

  1. Aggiungi un UIVisualEffectView con Blur sopra la gerarchia vista esistente (o anche al di fuori di esso)
  2. Caricare l'AdMob in un altro nuova vista in cima a quella sfocata o nella vista sopra
  3. Gestisci la presentazione dal controller di visualizzazione mediante il caricamento di l'annuncio all'interno di un custo vista m
  4. animazione di layout Utilizzare auto per presentare la visualizzazione personalizzata sullo schermo (forse come popover)

O

Partenza il campione UICatalog da Apple. Forniscono un esempio di presentazione di un controller di visualizzazione di ricerca sulla barra di navigazione.

import UIKit 

class SearchPresentOverNavigationBarViewController: SearchControllerBaseViewController { 
    // MARK: Properties 

    // `searchController` is set when the search button is clicked. 
    var searchController: UISearchController! 

    // MARK: Actions 

    @IBAction func searchButtonClicked(button: UIBarButtonItem) { 
     // Create the search results view controller and use it for the UISearchController. 
     let searchResultsController = storyboard!.instantiateViewControllerWithIdentifier(SearchResultsViewController.StoryboardConstants.identifier) as SearchResultsViewController 

     // Create the search controller and make it perform the results updating. 
     searchController = UISearchController(searchResultsController: searchResultsController) 
     searchController.searchResultsUpdater = searchResultsController 
     searchController.hidesNavigationBarDuringPresentation = false 

     // Present the view controller. 
     presentViewController(searchController, animated: true, completion: nil) 
    } 
} 
Problemi correlati