2015-11-08 6 views
9

Wenn ich Interstital Anzeige Statusleiste anzeigen wird ausgeblendet und Navigationsleiste bewegt sich nach oben. Der gesamte Inhalt unter der Navigationsleiste bewegt sich nach oben. Wenn ich die Anzeige schließe, geht alles nach unten. Es sieht wirklich komisch und störend aus.Navigationsleiste bewegt sich, wenn AdMob Interstitial zeigte

Ich verwende Navigation Controller im Storyboard mit Show Navigation Bar Eigenschaft auf.

-Code Interstitial Ad in AppDelegate.m Datei anzuzeigen:

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

Grundsätzlich ich alles, was an seinem Platz zu bleiben, ohne sich zu bewegen, wenn ich Interstitial Ad präsentieren.

+0

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

+0

@SharmaVishal,' self.interstitialAd' ist 'GADInterstitial' nicht' ViewController'. Auch 'UINavigationController' hat keine' presentFromRootViewController' Methode. Vielleicht möchtest du deinen Kommentar korrigieren? – user1561346

+0

Ja, Entschuldigung. Es wurde nur gedacht :) –

Antwort

3

Warum nicht versuchen, die folgenden:

im Storyboard:

  1. ein UIVisualEffectView hinzufügen mit Blur über die vorhandene Ansichtshierarchie (oder auch außerhalb davon)
  2. Legen Sie das AdMob in eine andere neue Ansicht oben auf der unscharfen one oder in der Ansicht über
  3. Verwalten Sie die Präsentation von Ihrem View-Controller durch das Laden von die Anzeige in einem custo m Ansicht
  4. Verwenden Auto Layout Animation die benutzerdefinierte Ansicht auf dem Bildschirm (vielleicht als popover)

ODER

Schauen Sie sich die UICatalog Probe von Apple zu präsentieren. Sie bieten ein Beispiel für die Darstellung eines Such-Display-Controllers über der Navigationsleiste.

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) 
    } 
}