UITextView放入UITableViewCell时有时不显示内容

时间:2009-01-19 13:36:21

标签: cocoa-touch

我想知道是否还有其他人面临同样的问题。我在UITableViewCell中放置了一个UITextView字段。有时它不显示文本。当我单击或滚动表格视图时,它会出现。任何猜测?


详细说明:

我在 viewDidLoad 方法中调用一个方法,该方法调用Web服务来检索一些数据。收到数据后,我设置了 UILabel UITextView 的值。 UILabel 值显示正常,但 UITextView (有时)在我移动到子视图或向上和向下滚动以重新访问区域 UITextView <之前不会显示该值/ em>的。我在 UITableViewCell 中显示 UILabel UITextView 对象。在 UILabel UITextView 中设置值后,我立即调用 [tableView reloadData] ,但我没有重新创建 UITableViewCell

感谢您的回复和指示。

4 个答案:

答案 0 :(得分:3)

我通过致电[myTableView reloadData];

解决了这个问题

答案 1 :(得分:3)

我或多或少地遇到了同样的问题 - 在你触摸(并因此滚动)UITextView之前,自定义UITableViewCell子类中的UITextView不会显示其文本。这只会在表格中的FIRST单元格中发生。我无法弄清楚它为什么会发生,但只需通过编程方式“轻推”UITextView的contentOffset就可以轻松解决问题。

problemCell.textView.contentOffset = CGPointMake(0.0, 1.0);
problemCell.textView.contentOffset = CGPointMake(0.0, 0.0);

答案 2 :(得分:1)

这可能与UITextView和UITableView都是UIScrollView的子类有关。因此,您在滚动视图中有一个滚动视图,如果这是导致问题的原因,我不会感到惊讶。

如果您不需要编辑表格中的文字,只需使用多行UILabel。

如果你必须在UITableView中有一个UITextView,也许在其中一个上禁用滚动也可能解决问题。 (我认为属性名称为scrollEnabledscrollingEnabled。)

答案 3 :(得分:0)

确保您在覆盖viewWillAppear或viewDidAppear的所有地方都呼叫[super viewWillAppear:][super viewDidAppear:]

对于所有其他viewDidWhatever和viewWillWhateverWhere方法也可能是真的。

您遇到的问题表明,当您第一次显示表格时,UITextView没有在屏幕上显示消息,但在需要刷新时会收到消息。