gpt4 book ai didi

ios - 将静态内容添加到 UITableViewCell 中

转载 作者:行者123 更新时间:2023-11-29 03:41:55 26 4
gpt4 key购买 nike

我使用 UIViewController 而不是 UITableViewcontroller,并且无法理解将静态内容添加到表中的概念。我以前以编程方式完成过动态内容,但从未做过静态内容。

这是我在 IB 中设计的:

enter image description here

所有这些内容都位于 TableCell 内的“内容 View ”内。

我已经设置了数据源和委托(delegate),但只返回了一个部分和一个单元格。这是我的单元格代码。通常我会使用一个数组来填充它,但我不知道如何使用 IB 中的静态内容来做到这一点。如何添加图片中的对象,最重要的是如何保留每个对象的位置?我希望我不必手动输入 x、y 坐标。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableItem";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}


return cell;
}

编辑:静态单元格在 UITableViewController 中工作正常......有什么方法可以使其与 UIViewController 一起工作,还是我必须将其全部切换?

最佳答案

您必须对静态单元格使用 UITableViewController。

这是我使用 UIViewController 的解决方法。

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

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier];
}
NSString * titol = [NSString new];
NSString * valor = [NSString new];
NSDictionary * el_contacte = [contactes objectAtIndex:(indexPath.row)];

switch (indexPath.row) {
case 0:
titol = @"Nombre";
valor = [el_contacte valueForKey:@"nombre_contacto"];
break;
case 1:
titol = @"Teléfono";
valor = [el_contacte valueForKey:@"telefono"];
break;
case 2:
titol = @"Extensión";
valor = [el_contacte valueForKey:@"extension"];
break;
case 3:
titol = @"Móvil";
valor = [el_contacte valueForKey:@"movil"];
break;
case 4:
titol = @"Fax";
valor = [el_contacte valueForKey:@"fax"];
break;
case 5:
titol = @"email";
valor = [el_contacte valueForKey:@"email"];
break;

default:
break;
}
cell.textLabel.text = titol;
cell.detailTextLabel.text = valor;

return cell;
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
NSString * retornar = [NSString new];
switch (section) {
case 0:
retornar = @"Datos del cliente";
break;
case 1:
retornar = @"Contacto";
break;
case 3:
retornar = @"Personas";
break;
default:
break;
}
return retornar;
}

关于ios - 将静态内容添加到 UITableViewCell 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18304315/

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