将uitableview添加为子视图(如果必须从UITable继承)

时间:2012-02-16 22:06:37

标签: iphone ios uitableview uiview

我想要的是一个桌面视图,其顶部有广告视图,可用于浏览和刷新。现在我正在使用tableheaderview,但滚动,我需要广告继续。 viewforheader不滚动,但摆脱了标题所需的标准标题。如果我从tableVC继承,无论如何都要覆盖loadview来构建一个静态视图来保存广告然后在下面的tableview?我已经尝试过编写loadview并可以获取广告,但在尝试使用tableview时,我会在控制台中“无法恢复所选帧”。我正在使用culver的pull刷新技术,因为它很容易实现。我知道tableVC假设根视图是一个tableview所以我该如何解决这个问题呢?网上的每个解决方案都说使用标准的uiview控制器,但我卡住了刷新的原因

这是我的加载视图:

self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 60, 320, 400) style:UITableViewStylePlain];
self.tableView.dataSource = self;
self.tableView.delegate = self;

[self.view addSubview:self.tableView];

2 个答案:

答案 0 :(得分:2)

让您的视图控制器继承自UIViewController,但继续实施<UITableViewDataSource, UITableViewDelegate>。将TableView添加为UIViewController的内置view的子视图,指向File的所有者以获取数据源和委托。使表格视图的高度低于100%,并将广告作为主视图中的另一个视图,使其显示在表格的下方/上方。

enter image description here

来源:我在我的应用中执行此操作,并且它们在商店中。

答案 1 :(得分:1)

你可以尝试很多东西。

你可以像所有人一样停止继承UITableViewController。如果您正在使用Culver的PullRefreshTableViewController,请将其修改为子类UIViewController。您需要添加tableView属性,并采用UITableViewDataSourceUITableViewDelegate协议。

您可以将表格视图的contentInset设置为在顶部留出空间,并在控制器中定义scrollViewDidScroll:,以便在每个滚动条件上相应地重新定位广告视图。 (UITableView子类UIScrollView,因此如果您定义它们,它将调用UIScrollViewDelegate方法。)