iOS7 Auto Layout, Zobacz Resize i iAds
Korzystam z automatycznego układu w moim projekcie iOS 7 z następującą hierarchią widoków
Główny widok
- Widok kontenera
---Przycisk
---Przycisk
--- ImageView
- Widok banera (widok banera iAd)
Widok główny i widok kontenera to pełna szerokość i wysokość ekranu. W widoku kontenera trzymam poziomy i pionowy ogranicznik przestrzeni do widoku głównego (wysokość i szerokość ekranu). Również podglądy widoku kontenera są ograniczone do przycisku widoku z przestrzenią 20px.
Mój problem pojawia się, gdy widok baneru jest w końcu wypełniony i umieszczony na dole ekranu, a następnie widok kontenera odejmuje wysokość widoku banera od jego wysokości, aby umożliwić wyświetlanie widoku banera. (kod użyty poniżej) Idealnym rezultatem jest widok kontenera, który odejmuje wysokość i aktualizację ograniczeń podglądu w oparciu o tę nową wysokość, ale co się dzieje, to widok transparentu iAD nakłada się na widok, jak pokazano na rysunku.
Kod dla BannerViewDidLoadAd:
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
CGRect contentFrame = self.containerView.bounds;
CGRect bannerFrame = self.bannerView.bounds;
if (self.bannerView.bannerLoaded) {
contentFrame.size.height = self.containerView.frame.size.height - self.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:^{
[self.containerView setFrame:contentFrame];
[self.containerView layoutIfNeeded];
self.bannerView.frame = bannerFrame;
self.bannerView.hidden = NO;
}];
[self.containerView updateConstraints];
}
Obraz nakładającego się widoku kontenera iAd i jest to SubViews