我将UILabels添加到UITableView的单元格中。但是当我向同一个标签添加另一个数据时,它会被覆盖

时间:2015-03-09 09:11:45

标签: ios iphone cocoa-touch swift

问题是,在我的程序中,我必须更改每个单元格内的UILabels中的数据。但是当我尝试更改它时,数据就越来越多了。我无法从contentview中删除以前创建的标签。我在斯威夫特工作。

4 个答案:

答案 0 :(得分:0)

如果要在不在界面构建器中的代码中创建这些标签。在创建新标签之前,您需要删除之前的标签 更好的方法是在界面构建器,子类UITableViewCell中执行此操作,使用自定义单元格,在其中放置标签,连接插座并仅覆盖标签数据。

答案 1 :(得分:0)

完成此link。它将显示如何在自定义单元格中添加UILabel。

答案 2 :(得分:0)

好的,我理解你的问题。您必须使用可重复使用的细胞技术,并且每次都在创建标签。我不知道Swift的语法,所以在Objective-C中向您展示。希望你能把它转换成Swift。

cellForRowAtIndexPath委托

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
UILabel *myLabel = (UILable *)[[cell contentView] viewWithTag:1];

if(!cell)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    myLabel = [[UILabel alloc] initWithFrame:yourFrame];
    [myLabel setTag:1];
}

[myLabel setText:@"your text"];

答案 3 :(得分:0)

尝试在Cell.m中重写以下方法以解决问题。

- (void) prepareForReuse {
    NSLog(@"prep for reuse");
    // set your lable to nil here
}