0

我有一个 UIViewController,它在底部包含一个 TableView 和一个 GADBannerView。当收到广告时,我会更改 TableView 的高度,这样广告就不会覆盖任何单元格。这在我的 iPhone 6 (iOS 10) 和模拟器 (iOS 10) 上没有任何问题,但是由于某种原因在旧 iPhone 4s (iOS 9) 上测试我的应用程序时,如果我离开视图,TableView 高度会重置控制器,然后返回它。为什么会发生这种情况,我该如何预防?

这是我用来调整表格视图大小的代码。

- (void)adViewDidReceiveAd:(GADBannerView *)view {

   if (!adRecieved) {

    view.hidden = NO;
    CGRect currentRect = self.tableView.frame;
    currentRect.size.height -= CGRectGetHeight(view.frame);
    self.tableView.frame = currentRect;

    adRecieved = YES;
}
4

1 回答 1

1

我通过编辑我的表格视图约束解决了这个问题。现在它在所有设备上的行为方式都相同。

- (void)adViewDidReceiveAd:(GADBannerView *)view {

    if (!adRecieved) {

        view.hidden = NO;

        self.tableViewBottom.constant = -50;

        adRecieved = YES;
    }
}
于 2017-07-19T16:45:21.280 回答