我在适应新的 iPhone 5 屏幕高度时遇到了一些问题,我需要调整表格视图的大小以显示广告。
直到iOS6我都没有问题,我使用了以下功能,但它没有使用规模。老实说,我很惊讶它的工作原理。
+ (CGRect)setTableBoundsByHeight:(int)lHeight:(UITableView*)tbl {
CGRect tableFrame = tbl.frame;
return CGRectMake(tableFrame.origin.x,
tableFrame.origin.y,
tableFrame.size.width,
lHeight);
}
这是代码,我将表格视图的高度硬编码为 367,减去导航控制器和标签栏的高度。50是广告的高度。
if (!productPurchased) {
#ifdef VER_FREE
[[LARSAdController sharedManager]
addAdContainerToView:self.view withParentViewController:self];
[[LARSAdController sharedManager]
setGoogleAdPublisherId:@"number"];
[reportTableView setFrame:[General
setTableBoundsByHeight:(367-50):reportTableView]];
#endif
} else {
[reportTableView setFrame:[General
setTableBoundsByHeight:367:reportTableView]];
}
我发现了一些可扩展的代码,但我不确定如何实现它。
CGFloat scale = [UIScreen mainScreen].scale;
result = CGSizeMake(result.width * scale, result.height * scale);