在我的视图中,我有一个表格和一个广告横幅,所有这些都是通过 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];
}