我有一个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;
}
答案 0 :(得分:1)
我通过编辑表视图约束来解决问题。现在它在所有设备上的行为方式都相同。
- (void)adViewDidReceiveAd:(GADBannerView *)view {
if (!adRecieved) {
view.hidden = NO;
self.tableViewBottom.constant = -50;
adRecieved = YES;
}
}