В моем представлении у меня есть таблица и рекламный баннер, все они создаются через Interface Builder.Но я заметил, что мой view.frame.size.height, похоже, меняется в процессе исполнения моего приложения, даже если я не изменил размер.
Может кто-нибудь объяснить мне, почему это происходит?
Я перемещаю рекламный баннер за пределы экрана на viewDidLoad, и в этот момент, если я распечатываю self.view.frame.size.height, значение равно 460,00.В настоящее время я также увеличиваю размер tableView, чтобы он занимал место, которое когда-то занимал adBanner, и одновременно перемещал adBanner за экран.
Затем, когда я получаю сообщение bannerViewDidLoadAd, яеще раз распечатайте self.view.frame.size.height, в этот момент это 367,00.Я не понимаю, почему размер представления изменился.
- (void)moveAdvertOffScreen
{
// Make the table view take up the void left by the banner (320x50 block)
CGRect originalTableFrame = self.tableView.frame;
CGFloat newTableHeight = self.view.frame.size.height;
CGRect newTableFrame = originalTableFrame;
newTableFrame.size.height = newTableHeight;
// Position the banner below the table view (offscreen)
CGRect newBannerFrame = self.adBannerView.frame;
newBannerFrame.origin.y = newTableHeight;
self.tableView.frame = newTableFrame;
self.adBannerView.frame = newBannerFrame;
}
- (void)moveAdvertOnScreen
{
CGRect newBannerFrame = self.adBannerView.frame;
newBannerFrame.origin.y = self.view.frame.size.height - newBannerFrame.size.height;
CGRect originalTableFrame = self.tableView.frame;
CGFloat newTableHeight = self.view.frame.size.height - newBannerFrame.size.height;
CGRect newTableFrame = originalTableFrame;
newTableFrame.size.height = newTableHeight;
[UIView beginAnimations:@"BannerViewIntro" context:NULL];
self.tableView.frame = newTableFrame;
self.adBannerView.frame = newBannerFrame;
[UIView commitAnimations];
}