如何动态计算表高?

时间:2016-03-18 21:41:16

标签: ios swift uitableview

我试图动态计算UITableView的高度。我认为我可以在func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell上做总和,问题是这个方法只调用了第一个X单元格,并且在你滚动之前不会再次调用新的集合。

我使用autolayout约束,如何准确计算表格视图?

2 个答案:

答案 0 :(得分:0)

您可以调用以下方法获取UILabel的高度..

var morgan = require('morgan');
app.use(morgan('dev'));

设置单元格动态高度的另一种方法

  - (CGFloat)heightForWidth:(float)width AndFont:(UIFont *)font ForString:(NSString *) yourTextValue
    {
        CGSize size = CGSizeZero;
        if (yourTextValue.length > 0) {
            CGRect frame = [yourTextValue boundingRectWithSize:CGSizeMake(width, 999999) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{ NSFontAttributeName: font } context:nil];
            size = CGSizeMake(frame.size.width, frame.size.height + 1);
        }
        return size.height;
    }

答案 1 :(得分:0)

我不确定您要做什么但是附加到您的评论后可以禁用滚动视图:

self.tableView.scrollEnabled = true 

你可以通过以下方式获得所有细胞的高度:

self.tableView.contentSize.height