Uygulamamda iAdSuite sekme çubuğu görünümü uygulamasını dahil etmeye çalışıyorum ve aynı sorunu bende ve uygulamamda görüyorum. Reklam göründüğünde, içeriğimin görünümü düzgün bir şekilde yeniden boyutlandırılıyor ve reklam doğru bir şekilde görünüyor. Reklam daha sonra kaybolduğunda, bulunduğu yerde beyaz boşluk bırakır. Bununla birlikte, içerik görünümümün orijinal boyuna yeniden boyutlandırıldığını ve orijinal sınırlarına çekildiğini doğruladım. Reklamın bulunduğu yeri göremezsiniz. Her görüntünün bir plana uyup uymadığından emin oldum ve hemen hiçbir şey düşünemedim. Düşüncesi olan var mı?iAdSuite hatası, reklam kaybolduğunda beyaz boşluk bırakıyor
Düzenleme: Sorunun ne olduğunu anladım. Apple'ın örneği görünüşte her zaman showBannerView: self.view için _bannerView ekler: çağrılır, ancak asla görünümü kaldırır. Bu, banner görünümü ekran dışına taşındığı için hala tam anlam ifade etmiyor, ancak bunu kaldırmak, beyaz alan problemini çözüyor. Benim çözümüm şu şekildedir, ama eğer daha zarif bir yolu varsa, bana bildirin.
- (void)layoutAnimated:(BOOL)animated {
if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
_bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
} else {
_bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
}
CGRect contentFrame = self.view.bounds;
contentFrame.origin = CGPointMake(0.0, 0.0);
CGRect bannerFrame = _bannerView.frame;
if (_bannerView.bannerLoaded) {
contentFrame.size.height -= _bannerView.frame.size.height;
bannerFrame.origin.y = contentFrame.size.height;
} else {
bannerFrame.origin.y = contentFrame.size.height;
}
[UIView animateWithDuration:animated ? 0.25 : 0.0 animations:^{
_contentView.frame = contentFrame;
[_contentView layoutIfNeeded];
_bannerView.frame = bannerFrame;
}
completion:^(BOOL finished) {
if (!_bannerView.bannerLoaded) {
[_bannerView removeFromSuperview];
_bannerView=nil;
}
}];
}
- (void)showBannerView:(ADBannerView *)bannerView animated:(BOOL)animated
{
_bannerView = bannerView;
if (![self.view.subviews containsObject:_bannerView])
[self.view addSubview:_bannerView];
[self layoutAnimated:animated];
}
- (void)hideBannerView:(ADBannerView *)bannerView animated:(BOOL)animated
{
[self layoutAnimated:animated];
}