UILabel不清楚,绘制以前的内容

时间:2013-01-30 19:53:25

标签: ios uitableview uilabel

我有一个UILabel,其文字我不时改变。但是,当我更改文本时,它不会删除旧文本 - 它会在旧文本的基础上重新绘制并累积。

UILabel位于UITableViewCell内。

有没有人遇到过这个问题?你是如何解决的?

2 个答案:

答案 0 :(得分:1)

当您通过UITableViewCell方法自定义[cell addSubView:UILabel]时会发生这种情况。

所以让我详细解释一下:

我们使用[tableView dequeueReusableCellWithIdentifier:CellIdentifier];方法来获取要使用的单元格。

此方法可以是以下两种方法之一:

  1. 返回UITableViewCell的新对象。 OR
  2. 返回UITableViewCell的旧对象,该对象现在不在屏幕上。 (提高绩效)
  3. 如果它是新鲜的而不是没有问题但是如果它不是我们添加的控件 [view addSubView:view]方法已经存在,我们将它再次添加到相同位置,例如相同控件的堆栈。

    我们可以通过两种方式解决它:

    1. 代码以这样的方式添加[UIView addSubView:UIView],只有它是新单元格。

    2. (我建议这个)使用UITableViewCell的子类也调用Custom UITableViewCell。

    3. 你会发现很多这方面的教程让我给你一些:

      Creating a Custom UITableViewCell

      How To Design A Custom UITableViewCell From Scratch

      如果您使用的是故事板,那么很容易:

      Creating Table Views with Storyboards

      Using Xcode Storyboards to Build Dynamic TableViews with Prototype Table View Cells

      一切顺利......

答案 1 :(得分:0)

人!我遇到了类似的问题,并试图创建新的问题,但我决定在这个主题内写,不做新的。所以这是我的情况:

我正在尝试开发本地化的应用程序,其中英语单词通常由wordLabel.text = @"SomeNewWord";设置为标签,但在俄语的情况下 - 新单词写在旧的上面。当我有一些断点来停止游戏活动时,这种情况不会出现。当没有停止因素时,问题就出现了。这种情况仅发生在默认选择俄语的iPhone上。在iPad上一切顺利。在向ULLabel分配新单词之前,我还尝试wordLabel.textnil。完全没有反应。目前,模拟器和iPhone 4上都存在这个问题。 我的UILabel是由故事板制作的,并且有@property (nonatomic, weak) IBOutlet UILabel *wordLabel;

更新

找到这篇文章useful one at the bottom后,我解决了我的问题。答案是接口构建器中的UNCHECK Opaque ......