Iphone 向UITableView添加数据/行(一个视图上有多个表)
我到处找了找,似乎不知道该怎么做。我还不知道自己到底在做什么,这对我没有帮助,但我希望这会有所帮助 我正在创建一个iPad应用程序。简言之,它是一个复杂的秒表,将在一个视图上进行拆分(用于运行) 我有一个主时钟和5个分开的按钮。所有这些都有效。但是,我想记录这些分割,我认为在一个可以滚动的表格中记录会很好 我在一个视图上有5个视图。我在网上找到了一些关于“数据源协议”的东西,并且只在一个表中就可以很好地工作。当我试图让每一张桌子都能独立工作时,事情就糟了。而且,对于一个简单的任务来说,它似乎是一堆代码 我已经有5个可变数组。我真的不知道该怎么做,任何帮助都会很好 而且,如果可能的话,我需要按一下按钮清理桌子……看起来很简单,但我真的不知道Iphone 向UITableView添加数据/行(一个视图上有多个表),iphone,cocoa-touch,Iphone,Cocoa Touch,我到处找了找,似乎不知道该怎么做。我还不知道自己到底在做什么,这对我没有帮助,但我希望这会有所帮助 我正在创建一个iPad应用程序。简言之,它是一个复杂的秒表,将在一个视图上进行拆分(用于运行) 我有一个主时钟和5个分开的按钮。所有这些都有效。但是,我想记录这些分割,我认为在一个可以滚动的表格中记录会很好 我在一个视图上有5个视图。我在网上找到了一些关于“数据源协议”的东西,并且只在一个表中就可以很好地工作。当我试图让每一张桌子都能独立工作时,事情就糟了。而且,对于一个简单的任务来说,它似乎是一
谢谢 您需要将所有表的UITableViewDelegate和UITableViewDataSource设置为一个类,该类将实现以下方法: 对于UITableViewDataSource:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
及
当这些方法被传递给调用的tableview时,您应该可以很容易地为相关的tableview返回正确的数据(您已经在NSMutableArray中存储了这些数据)。您仍然需要为阵列显示不同的内容,但我相信您会设法做到这一点。nsindepath基本上告诉您应该显示数组的哪一部分。现在,假设您在一个未分组的表中工作,您只需创建一个新单元格并用数组的内容填充它,数组的内容由indexPath决定:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MyNiceIdentifier";
cell = [aTableView dequeueReusableCellWithIdentifier:NavigationCellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.tag = 500;
}
cell.textLabel = [myArray objectAtIndex:indexPath.row];
}
在另一个数据源方法中,只需返回该数组的计数:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if(tableView == myFirstTableView) {
return [myFirstArray count];
}
}
您可能最常使用的UITableViewDelegate方法是:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
用于返回给定索引处单元格的所需高度
设置数据源和委托与执行以下操作一样简单:
myTableView.delegate = ...
myTableView.dataSource = ...
请参阅本文档:
另请参阅本文档:
谢谢您的回复。但是,我不知道如何为每个表实现这一点。我试过了,第二张桌子模仿第一张桌子。“*”是什么意思?非常感谢help.cell.textLabel=[myArray objectAtIndex:indexath.row];
myTableView.delegate = ...
myTableView.dataSource = ...