如何管理 tableViewIndexSearch 的 cellForRowAtIndexPath?
Posted
技术标签:
【中文标题】如何管理 tableViewIndexSearch 的 cellForRowAtIndexPath?【英文标题】:How to manage cellForRowAtIndexPath for tableViewIndexSearch? 【发布时间】:2011-05-26 10:52:13 【问题描述】:如何管理cellForRowAtindexPath
TableViewIndexSearch 的值我的代码是:
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
alphabetDict = [NSDictionary dictionaryWithObject:tempArray forKey:@"alphabet"];
NSLog(@"alphabetDict Is: %@", alphabetDict);
[listArray addObject:alphabetDict];
NSLog(@"listArray Is: %@", listArray);
return tempArray;
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
return 26;
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0,0,tableView.frame.size.width,30)] autorelease];
UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, -5, headerView.frame.size.width-120.0, headerView.frame.size.height)];
for(section ; section <=[self.tempArray count];section++)
headerLabel.textAlignment = UITextAlignmentLeft;
headerLabel.text = [self.tempArray objectAtIndex:section];
headerLabel.textColor = [UIColor whiteColor];
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.font = [UIFont fontWithName:@"Verdana Bold" size:11];
[headerView setBackgroundColor:[UIColor orangeColor]];
// NSLog(@"headerLabel.text:%@", headerLabel.text);
[headerView addSubview:headerLabel];
[headerLabel release];
return headerView;
return headerView;
-(float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
return 23.0;
// --------- TableView Delegate and DataSource-----------
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
return [xmlParseArray count];
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"Cell";
DirectoryCustomCell *directoryCustomCell =(DirectoryCustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (directoryCustomCell == nil)
directoryCustomCell = [[[DirectoryCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
directoryCustomCell.selectionStyle = UITableViewCellEditingStyleNone;
UIImageView *searchImg = [[UIImageView alloc]initWithFrame:CGRectMake(292, 0, 28, 360)];
searchImg.image = [UIImage imageNamed:@"searchindex.png"];
[directoryCustomCell addSubview:searchImg];
NSString *companyName = [[xmlParseArray objectAtIndex:indexPath.row ]objectForKey:@"firstname"];
// NSLog(@"companyName :%@",companyName);
NSString *flName = [[xmlParseArray objectAtIndex:indexPath.row ]objectForKey:@"title"];
[directoryCustomCell setDataForEvent1:companyName venue:flName];
return directoryCustomCell;
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
return [[collation sectionTitles] objectAtIndex:section];
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
return [collation sectionForSectionIndexTitleAtIndex:index];
我想以排序形式显示(我的意思是节标题 A 的名称以 A 开头,依此类推)。
在从 A 到 B 的 Headertitle 之间,这些数据在每个部分中都很常见,但我只想要那些从 SectionHeadertitle A 中的 A 开始并从 headertitle B 中的 B 开始的那些数据。
【问题讨论】:
【参考方案1】:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
switch(indexPath.section)
// Configure based on section
// Get details corresponding to section
// configure cell and return cell
看看这个tutorial
【讨论】:
感谢您的帮助,但我的部分是根据字母表生成的(SectionHeaderTitle 从 A 到 Z)我如何管理 headertitle A 中有多少行。我正在向您发送屏幕截图,请帮助 获取每个项目的起始字符并根据该字符进行填充 对不起,我无法理解,请提供一些代码行。我是 iphone 新手,数据也是动态的 通过这个你会有一个简单的想法***.com/questions/2971995/…以上是关于如何管理 tableViewIndexSearch 的 cellForRowAtIndexPath?的主要内容,如果未能解决你的问题,请参考以下文章