Subview отображается за всем, после размещения adbannerview

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

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

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

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

2 ответа

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

В функции моего нажатия кнопки, я добавляю этот код:

self.view.addSubview(self.cadrePays)

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

Ограничения положения вообще не соблюдаются, я должен был сосредоточить это с:

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

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

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

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

self.view.bringSubviewToFront(self.yourSubviewName)
Другие вопросы по тегам