使用tableView estimatedHeightForRowAtIndexPath使单元格闪烁。我使用以下代码
-(CGFloat )tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewAutomaticDimension;
}
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewAutomaticDimension;
}
创建UITableViewCell textLabel垂直对齐以始终位于顶部。我使用以下代码但不起作用。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier1 = @"Cell";
UITableViewCell *cell1 = [tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
if (cell1 == nil) {
cell1 = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier1];
}
cell1.textLabel.text = [self.itemDict objectForKey:kDESCRIPTION];
cell1.textLabel.numberOfLines = 0;
cell1.textLabel.font = [UIFont fontWithName:@"Helvetica" size:15];
cell1.textLabel.textColor = TextColor;
[cell1.textLabel sizeToFit];
return cell1;
}
我有第一张图片但想要第二张图片
我检查了以下链接,但没有解决
Vertically align text to top within a UILabel
答案 0 :(得分:1)
查看this
很快,您可以通过以下方式实现这一目标 - 以编程方式并通过IB
使用Interface Builder
设置四个约束 - 顶部,领先,训练,高度。高度约束是强制性的。
然后转到标签的属性检查器并将行数设置为0
转到标签尺寸检查器并增加垂直ContentHuggingPriority和垂直ContentCompressionResistancePriority。
选择并编辑高度约束。
并降低高度约束优先级。
修改强>
以编程方式添加灵活的高度约束:
[cell1.contentView addConstraint:[NSLayoutConstraint constraintWithItem:cell1.textLabel
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationGreaterThanOrEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:0.0]];
其他限制:
NSDictionary *views = @{@"textLabel":cell1.textLabel};
[cell1.contentView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|[textLabel]|"
options:0
metrics:nil
views:views]];
[cell1.contentView addConstraint:[NSLayoutConstraint constraintWithItem:cell1.textLabel
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:cell1.contentView
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:10.0]];
希望这有帮助