我遵循https://stackoverflow.com/a/18746930中提到的概念,但稍微以不同的方式使用自动布局实现动态单元格。我只有一个原型自定义单元格。但我必须根据数据数组向单元格添加多个UILabel,并且必须保持动态单元格高度。
//我的UITableViewCell
@interface CustomCell ()
@property (nonatomic, assign) BOOL didAddLabel;
@end
@implementation CustomCell
- (void)awakeFromNib {
[super awakeFromNib];
}
-(void)addLabel:(NSArray*)someAry{
if(!didAddLabel){
for (int i=0; i<someAry.count; i++) {
// Initialize UILabel Programtically ...
// adding label
[self.aViewOfContaintView addSubview:aLabel];
}
self.heightLayoutConstraintOfaViewOfContaintView.constant = value;
[self.aViewOfContaintView layoutIfNeeded];
self.didAddLabel = YES;
}
}
@end
//我的UIViewController
- (void)viewDidLoad {
[super viewDidLoad];
//.. .. ..
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 100;
//.. .. ..
}
- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
CustomCell *cell = (CustomCell *)[theTableView dequeueReusableCellWithIdentifier:CellIdentifier];
// Configure the cell for this indexPath
//.. .. ..
//Add Label
[cell addLabel:anAry];
[cell layoutIfNeeded];
return cell;
}
如果我不使用那个检查didAddLabel,那么滚动表粘贴。如果我使用它,那么我只得到四个不同高度的细胞。
上述答案提到“对于小区中的每个唯一约束集,请使用唯一的小区重用标识符。 ......”
如何在同一个自定义单元格中使用/注册不同的重用标识符? 任何替代解决方案或任何帮助将不胜感激。