我正在开发一款应用。我有一些来自服务器的数据。
现在我对行的数据计数一无所知。我只知道菲尔兹的名字。
我想在UITableViewCell
。
我有自定义TableCell
。我在里面拿了ContentView
。
我设置了以下约束:
- Leading
- Trailing
- Top
- Bottom
在我的ViewController's
DidLoad方法中,我有这个代码:
UINib *nib = [UINib nibWithNibName:cellName bundle:nil];
[[self mTableView] registerNib:nib forCellReuseIdentifier:cellName];
self.mTableView.rowHeight = UITableViewAutomaticDimension;
self.mTableView.estimatedRowHeight = 100.0;
我正在创建UILabel
像这样
- (void)awakeFromNib {
[super awakeFromNib];
CGFloat ypos = 0;
for(int i=0;i<6;i++)
{
UILabel *lbl = [[UILabel alloc]init];
lbl.backgroundColor= [UIColor redColor];
lbl.frame = CGRectMake(0,ypos,30,10);
[self addSubview:lbl];
ypos += 16;
}
[self setNeedsLayout];
[self layoutIfNeeded];
// Initialization code
}
这是我的CustomCell.But我的TableCell Hegiht没有增加。
请有人建议我,我错过了什么?
答案 0 :(得分:0)
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *dict1 = (NSDictionary*)[array objectAtIndex:indexPath.row];
NSString *cellText = [dict1 valueForKey:@"test"];
UIFont *cellFont = [UIFont fontWithName:FONT_NAME_GOTHAM_4 size:11.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
return labelSize.height + 80;
}
答案 1 :(得分:-1)
到目前为止,你做得对。但是不要忘记使用tableView的委托/数据源 - cellForRowHeight 。
另外,正如Lion所提到的,您需要为标签添加约束。如果以编程方式执行标签,则还要以编程方式执行自动布局。