将 Constraint 设置为与 UiViewController 相关的 UITableViewCell

Posted

技术标签:

【中文标题】将 Constraint 设置为与 UiViewController 相关的 UITableViewCell【英文标题】:Set Constraint to UITableViewCell related to UiViewController 【发布时间】:2016-03-17 09:03:23 【问题描述】:

我想添加 UITableViewCells 高度约束等于另一个名为标题视图的视图

在我的 SuperView 中,顶部有一个 HeaderView。我已将其高度限制设置为我的 superView 的 1/10。

我有一个 UITableView,其中有一个 UITableViewCell。 1.设置UITableViewCell的高度约束,与superview的比例为1/10。 或者 2.设置高度约束等于HeaderView。

我可以在 Interface Builder 上添加一个约束,从我的 UITableViewCell 到 Header View 或 superview?

【问题讨论】:

不,你必须从代码中设置 rowHeight 属性 您不能在 TableViewCell 和单元格外部的其他视图之间设置约束。您可以通过以编程方式设置约束来做到这一点。 嘿@techlorr,我希望rowHeight 属性与屏幕尺寸成比例。那我该怎么办? 您已经使用 HeaderView 进行了设置。将 rowHeight 设置为 HeaderView 的高度.. 你想让行高为屏幕高度的1/10吗? @CloyMonis 【参考方案1】:

你可以像这样将行高设置为屏幕高度的1/10

tableView.rowHeight = UIScreen.mainScreen().bounds.height/10

让我知道这是否有效

【讨论】:

愿原力与你同在。 @CloyMonis【参考方案2】:

您不能为情节提要中的表格单元格或表格标题设置高度限制。 您可以使用以下函数将标题和表格单元格的高度设为超级视图的 1/10:

// For table header view

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 

    CGFloat height = <superview>.frame.size.height/10;
    return height;


// For table cell

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

    CGFloat height = <superview>.frame.size.height/10;
    return height;

【讨论】:

以上是关于将 Constraint 设置为与 UiViewController 相关的 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章

将状态设置为与 dbus 共情时出错

将上游分支设置为与本地名称不同的远程分支

将 automake 安装文件名设置为与原始文件名不同

如何将 iFrame 的高度和宽度设置为与 WKWebView 框架相同?

无法将 Django 设置为与 smtp.gmail.com 一起使用

尝试将 Node.js (Express) 设置为与虚拟主机一起使用,并遇到意外错误