我正在使用Cocoanetic's pull-to-reload,但有一个转折:我想UITableView能够拉起,因为它是,加载更多的数据。添加依赖于scrollView.contentSize的子视图的正确位置是什么?
我自定义了这些类,并设法调整所有功能以支持此功能。基本上,我得到的结果是我的代码中创建和添加额外视图的地方。
我第一次尝试将它添加在viewDidLoad中Cocoanetic的类(一UITableViewController
)的:在这一点上
- (void)viewDidLoad
{
[super viewDidLoad];
refreshHeaderView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.view.bounds.size.height, 320.0f, self.view.bounds.size.height)];
refreshFooterView = [[EGORefreshTableFooterView alloc] initWithFrame:CGRectMake(0.0f, 0.0f + self.tableView.contentSize.height, 320.0f, 20.0f)];
[self.tableView addSubview:refreshHeaderView];
[self.tableView addSubview:refreshFooterView];
self.tableView.showsVerticalScrollIndicator = YES;
}
这不起作用,因为self.tableView.contentSize.height
是零,因为表没有加载它的数据尚未。
不用担心,我想,并试图将其添加在子类的UITableViewController我做的viewDidLoad中:
- (void)viewDidLoad
{
[super viewDidLoad];
// stuff
self.model = [ListingModel listingModelWithURL:@"avalidurl" delegate:self];
refreshFooterView = [[EGORefreshTableFooterView alloc] initWithFrame:CGRectMake(0.0f, 0.0f + self.tableView.contentSize.height, 320.0f, 20.0f)];
[self.tableView addSubview:refreshFooterView];
}
注意我第一次设置的模式,但也没有工作,为同样的道理。我认为桌子还没有铺好。在无奈我给我的类从tableView:cellForRowAtIndexPath:
称为BOOL
财产和addFooter
方法(BOOL
,以确保它仅被调用一次),这显然是一条正确的路™相去甚远
那么,什么会,鉴于这种情况,是正确的方式?
那么我怎么会这样,记住我使用UITableViewController?我从一个笔尖加载UITableView,因此我额外的问题:) – Zsub 2011-05-10 10:59:51