本文介绍了带有 viewWithTag 的 UILabel -(文本未出现)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有一个 UITableViewCell,我在上面添加了一个标签为 1000 的标签.
have a UITableViewCell, to which I add a label on it with tag 1000.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ChecklistItem"];
UILabel *label = (UILabel *) [cell viewWithTag:1000];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
然后
UILabel *labelName = (UILabel *)[cell viewWithTag:1000]
labelName.text = @"test".
当我运行时,单元格是空的.有什么建议吗?
When I run, the cell is empty. Any advice?
推荐答案
你应该检查 [tableView dequeueReusableCellWithIdentifier:@"ChecklistItem"]
和 [cell viewWithTag:5000]
返回 nil 以外的其他内容.
You should check if [tableView dequeueReusableCellWithIdentifier:@"ChecklistItem"]
and [cell viewWithTag:5000]
are returning something other than nil.
如果是,请务必按以下顺序进行:
If they are, be sure to do it in this order:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//Try to reuse the cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ChecklistItem"];
//If you can't reuse, instantiate the cell
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"ChecklistItem"];
}
//Now that you have your cell, find the label
UILabel *labelName = (UILabel *)[cell viewWithTag:5000];
//Check if the label exists just in case
if (labelName) {
//And set the text
[labelName setText:@"test"];
}
}
这篇关于带有 viewWithTag 的 UILabel -(文本未出现)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!