【发布时间】:2011-07-08 08:31:34
【问题描述】:
您好,我有一个标签栏控制器,其中包括两个页面 A 和 B。现在我只想将 TTTableViewDragRefreshDelegate 添加到页面 A。
如果我输入代码:
- (id<TTTableViewDelegate>) createDelegate {
TTTableViewDragRefreshDelegate *delegate = [[TTTableViewDragRefreshDelegate alloc] initWithController:self];
return [delegate autorelease];
}
进入UITabBarController,然后A和B都刷新了,所以我把上面的代码放到A的视图控制器中,然后像这样在UITabBarController中调用A的视图控制器:
if (_page == APage) {
AViewController *_aViewController = [[[AViewController alloc] init] autorelease];
self.dataSource = _aViewController.dataSource;
...
}
但似乎不行,页面 A 仍然无法拖动和刷新。那么我怎样才能在UITabBarController 中只为页面A 获得TTTableViewDragRefreshDelegate?
这是AViewController 初始化代码:
- (id)init {
if (self = [super init]) {
self.variableHeightRows = YES;
id<TTTableViewDataSource> ds = [APageDataSource dataSourceWithItems:nil];
ds.model = CreateTabModelWithCurrentSettings();
self.dataSource = ds;
}
return self;
}
如何让页面A获取AViewController的所有属性?像AViewController的模特dataSource之类的?
【问题讨论】:
-
为什么要将数据源分配给标签栏控制器?这是有原因的吗?
-
好吧,我尝试将数据源分配给 AViewPageController 但似乎不起作用,我认为 AViewController 初始化可能有问题,让我将 AViewController 初始化代码放在
-
或者,无论如何我可以将dragfresh分配给标签栏控制器中的指定页面
标签: objective-c ios delegates three20