如何设置行的高度取决于主视图/显示的80%高度

时间:2015-08-29 06:00:17

标签: ios uitableview

我有一个视图控制器和一个tableview。我想设置80%主视图的行高,有没有使用autolayout的方法?请帮我找到合适的解决方案。

1 个答案:

答案 0 :(得分:0)

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return self.view.frame.height * 0.8
}

替换了mainView的self.view

ObjC如果你需要它:

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath  {
    return (self.view.frame.size.height * 0.8);
}

这个答案的唯一问题,正如迈克尔上面所说的那样,约束绝对没有错,你真的应该用限制来做这样的事情。我无法保证我的解决方案对您有用,因为当系统要触发对单元高度与mainView的调用以及主视图的高度时,我无法保证没有触发FIRST,你手上有一个大问题,因为现在你的细胞高度为零。最好的情况是,如果你需要一个单元格的自定义高度,子类化一个单元格,像boss一样使用autolayout,并以正确的方式执行此操作,但随意实现此方法,它会起作用,但你现在知道什么时候它不会起作用。祝你好运

如果它不起作用,只要说点什么,总有人愿意帮助你度过这一点,这没什么大不了的!