我在界面生成器中使用约束配置了一个界面。它的设置如下所示: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}}
.