我想创建一个看起来像这样的tableView。 (好吧,有不同的标题;))
到目前为止,我在几个应用程序中看到了这些内容,但我无法弄清楚如何制作这些内容。由于色调(如在导航栏中)和各种应用程序中的类似外观,我猜这些不是自定义单元格,而是不同的东西。
还有一个问题(如果它们是自定义单元格)。当我在故事板tableview中更改原型单元格的单元格高度/背景时,在我为其创建额外的自定义单元类之前,它不会显示在应用程序中。我错过了什么?
if (indexPath.row == 0 || indexPath.row == 7)
{
static NSString *CellIdentifier = @"TitleCell";
UITableViewCell *cell1 = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
//heigh does not change -.-
if (cell1 == nil){
cell1 = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
return cell1;
}
else {
static NSString *CellIdentifier = @"FirstCell";
UITableViewCell *cell1 = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell1 == nil){
cell1 = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell1.textLabel.text = [[articles objectAtIndex:indexPath.row]objectForKey:labelkey1];
答案 0 :(得分:3)
它们是节标题。
您可以通过添加此方法添加节标题:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return @"My title";
}
要添加多个部分,您需要从以下方法传递合适的值:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 7;
}
传递每个部分的行数:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 2;
}
从上面的代码中,您将获得7个部分,每个部分包含2行。您需要相应地处理部分,行及其数据。
<强>的tableView:titleForHeaderInSection:强>
向数据源询问指定标题的标题 表格视图的一部分。 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section参数
的tableView
The table-view object asking for the title. section An index number identifying a section of tableView .
返回值
用作节标题标题的字符串。如果你返回零 ,该部分将没有标题。讨论
表格视图对章节标题使用固定的字体样式。如果 你想要一个不同的字体样式,返回一个自定义视图(例如,一个 UILabel对象)在委托方法中 tableView:viewForHeaderInSection:相反。可用性
Available in iOS 2.0 and later.
另见
– tableView:titleForFooterInSection:
在UITableView.h中声明
参考: