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