首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只为一个tableView设置行高,而忽略heightForRowAtIndexPath中的其他tableView?

只为一个tableView设置行高,而忽略heightForRowAtIndexPath中的其他tableView?
EN

Stack Overflow用户
提问于 2015-09-02 17:41:05
回答 2查看 546关注 0票数 1

我有一个TableViewController和一个TableView,它的行动态设置有自动布局.

我向Controller添加了另一个TableView,它用于菜单。它的行高需要设置在65。

问题是,在heightForRowAtIndexPath.中我知道如何为这个tableView菜单的行返回65。但是我不知道如何让自动布局来完成它仍然是另一个tableView的事情。

有人知道我怎么能做到这一点吗?

这是我的密码:

代码语言:javascript
运行
复制
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    if tableView is YALContextMenuTableView {
        return 65
    } else {

    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-02 17:47:59

  • 不要使用tableView:heightForRowAtIndexPath:。调整菜单tableView单元格的自动布局和自调整大小,因此它的约束大小为其高度(至65),或
  • 继续使用tableView:heightForRowAtIndexPath:。返回非菜单UITableViewAutomaticDimension单元格的高度,这将使系统可以自行调整这些单元格的大小。

自我调整将是首选的方式,因为它与动态类型和自适应UI很好地结合使用。

票数 2
EN

Stack Overflow用户

发布于 2015-09-02 17:47:49

您可以使用super使用UITableViewController实现此方法。

代码语言:javascript
运行
复制
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    if tableView is YALContextMenuTableView {
        return 65
    } else {
        return super.tableView(tableView, heightForRowAtIndexPath:indexPath)
    }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32359783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档