2

我在界面生成器中使用约束配置了一个界面。它的设置如下所示:http: //imgur.com/a/xqa7D

渲染单元格时,不会出现右侧标签(但仍保留一个空格):http: //imgur.com/xwBSSMD

有问题的单元格是自定义 UITableViewCell 子类:

#import <UIKit/UIKit.h>

@interface ProgressCell : UITableViewCell

@property (weak, nonatomic) IBOutlet UILabel *textLabel;
@property (weak, nonatomic) IBOutlet UIProgressView *progressView;
@property (weak, nonatomic) IBOutlet UILabel *detailTextLabel;

@end

类没有进一步的逻辑。

表格视图单元格是从我在情节提要上设置的标识符实例化的:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ProgressCell";
    ProgressCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier
                                                         forIndexPath:indexPath];

    Object *room = [self.rooms objectAtIndex:indexPath.row];
    cell.textLabel.text = room.name;
    cell.progressView.progress = 1.0f - ((float)room.avail)/room.total;
    cell.detailTextLabel.text = [NSString stringWithFormat:@"%d/%d", room.avail, room.total];

    return cell;
}

如果我在函数末尾设置断点并执行po [[cell detailTextLabel] text],则文本设置正确。标签没有隐藏。

我完全不知道可能的原因。什么可能触发这种行为?

我尝试过的其他事情:

  • 将属性重命名为 detailTextLabel 以外的其他名称(如果可能发生冲突)不起作用
  • 如果我添加第三个标签,默认文本,正确显示
  • 如果我添加第三个标签并将 IB 中的出口连接到未出现的出口,则出现问题标签的默认文本,但隐藏第三个标签

编辑:

如果我记录相关框架的最终位置,它位于{{0, 44}, {0, 0}}.

4

2 回答 2

0

您可以尝试找出正在发生的事情:

  • 在标签上放一个红色背景。

  • 使用NSLog标签的框架和单元格的 contentView 框架。

  • 在上面放一个硬编码的文本。cell.detailTextLabel.text = @"Hi";

于 2013-02-07T12:20:43.617 回答
0

问题可能是情节提要自动布局的约束。检查标签约束,以便在表格视图中调整单元格大小时可见

于 2013-02-07T12:23:36.487 回答