1

我有一个奇怪的问题:

我正在使用 aUIPickerView来选择一些值。何时挑选值时,我希望UITableView从Pickerview中的该值中更新一行。所以我保存了对特定单元格的引用。

因此,当我在pickerview 中选择一行时,我在pickerview 委托方法中执行此操作- didSelectRow...

self.pickerviewCell.textLabel.text = [self.pickerViewDataSource objectAtIndex:row];

然后我用动画关闭了pickerview。但是由于某种原因,在pickerview关闭屏幕后,我看到行中的标签被更新为三个点...,这表明文本对于标签来说太长了,然后在点消失后一秒钟,标签的全文被陈列。文本字符串不会太长,它们的长度在 3 到 5 个字符之间,应该完全适合 a 的 textLabel UITableViewCell

有人有线索吗?

4

2 回答 2

1

对我来说,问题是我的字符串以\n. 这适用于UITableViewCellStyleDefault,但是当更改为 时UITableViewCellStyleSubtitle,字符串被截断(无论字符串有多长,最后三个字符都更改为...)。从琴弦\n上取下来固定它。

于 2012-12-17T14:33:47.117 回答
0

经过反复试验,找到了解决方案。

原来,由于单元格是一个自定义子类,UITableViewCell我需要将实例变量引用到该自定义子类而不是UITableViewCell超类。

所以我所做的只是从:

@property (nonatomic, strong) UITableViewCell *cell

@property (nonatomic, strong) MyCell *cell

它完美无缺。虽然很奇怪的行为。但它有效。

编辑:

其实我在那里太快了。仅将类更改为我的子类是行不通的。相反,我注意到起作用的是,如果在设置self.pickerviewCell.textLabel.text我调用的属性之后,[self.pickerviewCell.textLabel sizeToFit]但奇怪的是,在我的应用程序的另一个视图控制器中,我可以执行上述操作,而无需调用它- sizeToFitUILabel使其正确显示。

于 2012-08-22T09:47:48.463 回答