您的位置:首页 > 产品设计 > UI/UE

【iOS开发】UITableView Cell 自适应高度

2016-04-08 20:30 639 查看
UITableView Cell 自适应高度
viewController.m
<span style="font-family: Arial, Helvetica, sans-serif;">- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{</span>
UITableViewCell *cell = [self tableView:_tableView cellForRowAtIndexPath:indexPath];
return cell.frame.size.height;// 获取cell高度
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *identifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier<span style="font-family: Arial, Helvetica, sans-serif;">];</span>
if (!cell) {
cell = [[SearchMemberCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
[cell heightWithText:text]; //传入文本
return cell;
}


UITableViewCell.h

- (void) heightWithText:(NSString *)text;


UITableViewCell.m
-(void)heightWithText:(NSString *)text isCompany:(BOOL)isCompany{
//获得当前cell高度
CGRect frame = [self frame];
//文本赋值
self.group.text = text;
//设置label的行数
self.group.numberOfLines = 0;
//设置文本宽度
CGSize size = CGSizeMake(320, <span class="s1" style="font-family: Arial, Helvetica, sans-serif;">MAXFLOAT</span><span style="font-family: Arial, Helvetica, sans-serif;">);</span>
//计算出自适应后的Size
CGSize labelSize = [self.group.text sizeWithFont:self.group.font constrainedToSize:size lineBreakMode:NSLineBreakByClipping];
//根据size 确定控件frame
self.group.frame = CGRectMake(self.group.frame.origin.x, self.group.frame.origin.y, labelSize.width, labelSize.height);
self.frame = frame;
NSLog(@"%f",frame.size.height);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: