2015-08-10 2 views
2

У меня есть основной вид и подвид. Все работает отлично: я нажимаю кнопку «Открыть» в представлении, который отображает subView над всем, и я могу закрыть subView.Subview отображает за всем, после размещения adbannerview

Я решил добавить adBannerView в нижней части моего приложения. Когда я запускаю приложение, adbannerView отлично работает: добавление загружается в рамку внизу моего приложения. Но когда я нажимаю кнопку «Открыть», subView больше не отображается выше всех. Он отображает UNDER все в представлении. Можете ли вы помочь мне решить эту проблему? Спасибо огромное!

Вот код, я реализовал для adBannerView и подвид (я снял другой код не имеет отношения к моей проблеме):

import UIKit 
import iAd 

class ViewController: UIViewController, ADBannerViewDelegate { 

@IBOutlet weak var boutonChangerPays: UIButton! 
@IBOutlet weak var cadrePays: UIView! 
@IBOutlet weak var bannierePub: ADBannerView! 

// Chargement initial de la Vue principale 
override func viewDidLoad() { 

    super.viewDidLoad() 

    // Cadre Pays 
    self.cadrePays.hidden = true 

    // Banniere Ad 
    self.canDisplayBannerAds = true 
    self.bannierePub.delegate = self 
    self.bannierePub.hidden = true 
} 

//************************* 
// ADBANNERVIEW 
// BANNIERE DE PUBLICITE 
func bannerViewWillLoadAd(banner: ADBannerView!) { 
    NSLog("bannierePub se charge") 
} 

func bannerViewDidLoadAd(banner: ADBannerView!) { 
    self.bannierePub.hidden = false 
} 

func bannerViewActionDidFinish(banner: ADBannerView!) { 
    NSLog("bannierePub a finit de se charger") 
} 

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool { 
    NSLog("Action pendant que la bannière se charge") 

    return true 
} 

//************************************************************************** 
override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

// Retour de l'écran de détail 
override func viewDidAppear(animated: Bool) { 
    // Indicateur d'Activité : caché 
    self.indicateurActivite.stopAnimating() 
    self.indicateurActivite.hidden = true 
} 

// Bouton Changer Pays 
@IBAction func boutonChangerPays(sender: UIButton) { 

    // On affiche la Vue des Pays 
    self.cadrePays.hidden = false 
}  
} 

ответ

0

Вы можете вызвать эту функцию, чтобы принести подвид выше всего.

self.view.bringSubviewToFront(self.yourSubviewName) 
+0

Я пробовал это, но он не работает. // Бутон Чейнджер Pays @IBAction Func boutonChangerPays (Sender: UIButton) {// На Affiche ла Вью де Pays self.cadrePays.hidden = FALSE self.view.bringSubviewToFront (cadrePays) } –

0

Удивительно, но я нашел решение, пытаясь это:

В зависимости от моей кнопки мыши, я добавить этот код:

self.view.addSubview(self.cadrePays) 

И это приносит подвид обратно дно ! Надеюсь, что не будет «создавать» много подзаголовков, сложенных еще одним другим!

ограничений позиции вовсе не уважал, я должен был центрировать его:

override func viewDidLayoutSubviews() { 
self.cadrePays.center = self.view.center 
} 

подвид центрируется горизонтально, а не вертикально, но теперь я думаю, что я очень близко к решению ,

Надеюсь, это поможет другим людям!

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