计算UITableView框架高度

时间:2014-05-07 16:14:33

标签: ios objective-c uitableview uipopovercontroller

在iOS7之前我会使用这段代码来计算UITableView的大小,然后设置它的tableView.contentSizeForViewInPopover:(它是我的UIPopoverController类的类方法:

+(CGFloat)createContentHeighForTableViewController:(UITableViewController *)viewController {
    CGFloat tableViewHeight = 0;

    for (int i = 0; i < [viewController.tableView numberOfSections]; i++)
    {
        CGRect sectionRect = [viewController.tableView rectForSection:i];

        tableViewHeight += sectionRect.size.height;
    }

    if (tableViewHeight > POPOVER_SIZE.height){
        return POPOVER_SIZE.height;
    }
    else {
        return tableViewHeight;
    }
}

这不是很完美,但会运作得相当好:

enter image description here

当我向下滚动时,它会将tableView拉回来,它会停留在图片中的所在位置。

这就是我说我的代码工作得很好的原因:

enter image description here

这是向上滚动的结果,它稍微偏离视图中的某些tableview

随着移动到iOS7和相同的代码,结果如下:

enter image description here

这是任何滚动的默认值。

很明显我的内容太小了。如何更好地计算tableView的大小?

0 个答案:

没有答案