我的动态TableView
看起来像this。
但是,我想更整洁地定位文字,例如this。
这是我目前正在使用的代码:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier =@"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
[cell.textLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:17.0f]];
cell.textLabel.text=[[self.responseArray objectAtIndex:indexPath.row]objectForKey:@"name"];
return cell;
}
我已尝试在TableViewCell
中放置一个标签,该标签位于我想要动态文本的位置,但我在代码中调用它是不成功的。我怎么能这样做?
答案 0 :(得分:2)
您应该创建自定义单元格子类。此子类在.h文件中应该有@property
,这使您的自定义标签可用。在.m(或XIB)中,您可以将标签创建(或连接)到属性(插座)。
现在,您使用cell.textLabel
而不是cell.customTextLabel
。只需记住根据CellIdentifier
注册自定义单元格类。
您还可以在单元格.m(或XIB)中的标签上配置字体和大小,因此您无需在代码中执行此操作。
您还需要更改为:
CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
以便编译器知道cell
所在的类(以及它具有的属性)。
答案 1 :(得分:0)
无需创建UITableViewCell
的子类。因为,您希望只是更改文字的来源。
我建议将UILabel
添加到您的单元格作为子视图。
cell.textLabel.text = @"";
UILabel *textLabel = [[UILabel alloc] initWithFrame: CGRectMake(10,10,300,20)];
textLabel.text = @"Text here";
[cell.contentView addSubview:textLabel];
仅2-3行,您无需创建子类。