UICollectionViewCell 中 UIButton 的文本被覆盖。我究竟做错了什么?

Text of UIButton in UICollectionViewCell gets overwritten. What am I doing wrong?

我有一个 UICollectionView,单元格是从 UICollectionViewCell 继承而来的,并在子类的初始化过程中从 nib 加载。子类单元格包含 UIButton 的子类,其中文本在界面构建器中设置为 TXT。 出于测试目的,我做了:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    ISOCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CELL_ID forIndexPath:indexPath];

    cell.uicellbtn.titleLabel.text = [NSString stringWithFormat:@"%d", (int)indexPath.row];

    return cell;
}

并且可以看到数字序列 (1-9) 显示在单元格中,但只是一瞬间,直到它们被界面生成器 (TXT) 中的默认文本替换!

要设置按钮文本,您必须使用 setTitle:forState: 方法。

[cell.uicellbtn setTitle:[NSString stringWithFormat@"%d", (int)indexPath.row] forState:UIControlStateNormal];

这个仍然时不时地把我绊倒。