gpt4 book ai didi

ios - 如何在不影响 iOS TableView 的第一个单元格的情况下加载单元格

转载 作者:行者123 更新时间:2023-11-28 22:11:18 24 4
gpt4 key购买 nike

我是 ios 开发的新手,但我正在做这样的事情:我有一个表格 View ,我实现了显示日期选择器,当点击表格 View 的第一个单元格时 [日期选择器将显示在第一个单元格下方] .所以现在我想根据从日期选择器中选择的日期重新加载单元格,但不应重新加载整个表格 View ,因为允许显示日期选择器的第一个单元格应该始终存在。

所以我想在不影响第一个单元格的情况下用一些数据加载单元格。我怎样才能做到这一点。我有这样的想法:

如果我可以识别除第一个单元格之外的剩余单元格,那么我可以在我的 cellForRowAtIndexpath 方法中使用 if 条件,但我不知道如何识别剩余单元格..请有人帮助我。我会把我的代码放在下面..

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{


UITableViewCell *cell;

NSDate *today = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// display in 12HR/24HR (i.e. 11:25PM or 23:25) format according to User Settings
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
NSString *currentTime = [dateFormatter stringFromDate:today];
NSDate *date=[dateFormatter dateFromString:currentTime];



if(indexPath.row==0){
VCPerson *person = self.persons[indexPath.row];

cell = [self createPersonCell:person];

}

else if ([self datePickerIsShown] && (self.datePickerIndexPath.row == indexPath.row)){

// VCPerson *person = self.persons[indexPath.row -1];



cell = [self createPickerCell:date];

}




if(indexPath.section!=0 && tapfirstCell) {

UITableViewCell *cell = (UITableViewCell*)[self.tableView dequeueReusableCellWithIdentifier:kOtherCellIdentifier forIndexPath:indexPath];
//cell.delegate_Dtepick = self;
NSDictionary *dictionary = [_dataArray objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"data"];
NSString *cellValue = [array objectAtIndex:indexPath.row];
cell.textLabel.text =cellValue;

}

return cell;




/*
if ([self datePickerIsShown] && (self.datePickerIndexPath.row == indexPath.row)){

// VCPerson *person = self.persons[indexPath.row -1];



cell = [self createPickerCell:date];

}



else {

// cellForDatePickCell* cell;
VCPerson *person = self.persons[indexPath.row];

cell = [self createPersonCell:person];
//cell = [self createCustomCell:indexPath];
}

return cell;


*/




}

在我的代码中,它没有显示我想要的第一个单元格之后的剩余单元格。请有人帮助我。

编辑:这是我的整个类(class)

http://pastie.org/8993858

编辑 2:

这是我需要做的事情的说明..

enter image description here

最佳答案

您的 DatePicker 应该在 HeaderView 中,而不是在 TableViewCell 中。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if (headerView == nil)
headerView = [[[HeaderView alloc] init] autorelease]; // further customizations
return headerView;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 30.0;
}

创建包含 DatePicker 的 headerView 或您要添加到 HeaderView 的任何 View 。在重新加载 tableView 时,您可以简单地返回已创建的 headerView,并根据您的需要更新所有 viewAtRows。 This教程可以帮助您了解如何自定义 HeaderView。

关于ios - 如何在不影响 iOS TableView 的第一个单元格的情况下加载单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22861205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com