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)