TableView框架在某些设备上被重置

时间:2017-07-18 22:54:25

标签: ios tableview height reset gadbannerview

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

这是我用来调整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;
}

1 个答案:

答案 0 :(得分:1)

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

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

    if (!adRecieved) {

        view.hidden = NO;

        self.tableViewBottom.constant = -50;

        adRecieved = YES;
    }
}