ios5 – UINavigationController里面的UITableViewController下面的iAd

我正在为博客网站构建应用程序.

我有一个带有UITableViewController的UINavigationController作为它的根视图.

我把它放在故事板中没问题,但是我试图将iAd视图拖到屏幕的底部,xcode不会让我添加它.

看起来我必须从UITableViewController的子类切换到UIViewController的子类,并将我的委托和数据源方法放在我的子类UIViewController中.

这对我来说似乎不对.我只是试图以文章标题的UITableView结束,导航栏顶部,底部的iAd ……

建议吗?建议?

提前致谢.

解决方法

实现此目的的最简单方法之一是使用UITableView的tableFooterView属性.是的,我知道页脚停留在桌子的底部,但它没有.您可以在表格中设置其框架.像这样添加iAd作为页脚:
self.tableView.tableFooterView = iAd;

然后,在表格滚动时调整iAd的框架,实现UIScrollView委托方法:(这是可能的,因为UITableView是UIScrollView的子类)

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    CGRect iAdFrame = iAd.frame;
    CGFloat newOriginY = table.contentOffset.y + table.frame.size.height - iAdFrame.size.height;
    CGRect newIAdFrame = CGRectMake(iAdFrame.origin.x,newOriginY,iAdFrame.size.width,iAdFrame.size.height);
    iAd.frame = newIAdFrame;
}

您可以看到实现很简单.我们只需使用contentOffset y来确定iAd帧的下行距离.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...