我正在尝试制作一个带有多个部分的表(例如联系人应用程序) 一切进展顺利,我在每个部分的顶部都创建了自定义部分标题,显示代表本节的字符。我希望它像与标头保持在顶部的位置,直到下一个标头倒闭。..如何发生
我正在使用以下代码(使您更容易找出
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return [stateIndex count];
}
- (UIView *)tableView:(UITableView *)aTableView viewForHeaderInSection:(NSInteger)section
{
UILabel *sectionHeader = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 40)];
sectionHeader.backgroundColor = [UIColor clearColor];
sectionHeader.font = [UIFont boldSystemFontOfSize:18];
sectionHeader.textColor = [UIColor whiteColor];
sectionHeader.text = [stateIndex objectAtIndex:section];
sectionHeader.textAlignment=UITextAlignmentCenter;
return sectionHeader;
}
//---set the index for the table---
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
return stateIndex;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
//---get the letter in each section; e.g., A, B, C, etc.---
NSString *alphabet = [stateIndex objectAtIndex:section];
//---get all states beginning with the letter---
NSPredicate *predicate =
[NSPredicate predicateWithFormat:@"SELF beginswith[c] %@", alphabet];
NSArray *states = [resultPoets filteredArrayUsingPredicate:predicate];
//---return the number of states beginning with the letter---
return [states count];
}
- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
PoemsCell *cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier];
int row = indexPath.row;
//---get the letter in the current section---
NSString *alphabet = [stateIndex objectAtIndex:[indexPath section]];
//---get all states beginning with the letter---
NSPredicate *predicate =
[NSPredicate predicateWithFormat:@"SELF beginswith[c] %@", alphabet];
NSArray *states = [resultPoets filteredArrayUsingPredicate:predicate];
if ([states count]>0) {
//---extract the relevant state from the states object---
NSString *cellValue = [states objectAtIndex:row];
cell.poemText.text = cellValue;
}
return cell;
}
如果您使用表观视图样式"普通"而不是"分组"。
来自文档:
uitaiteViewStyLeplain:普通表视图。任何部分标题或 桌子时显示页脚作为内联隔板和漂浮 视图滚动。
uitaiteViewStyleGrouped:一个表视图,其部分呈现不同 一组行。截面标题和页脚不漂浮。