Tableview圆角未显示在底部

Posted

技术标签:

【中文标题】Tableview圆角未显示在底部【英文标题】:Tableview rounded corner not showing up in bottom 【发布时间】:2017-08-18 06:54:19 【问题描述】:

我正在使用圆角半径来设置 UITableView 的圆角边框,以下是我的代码

self.tableView.layer.cornerRadius = 8.0
self.tableView.layer.masksToBounds = true

但它的显示是这样的,底部没有圆角:(

【问题讨论】:

检查你的约束,我认为会检查第一个底部约束 clipsToBounds 设置为真。正如 Divyesh 所说,tableview 框架可能超出范围。 @DivyeshGondaliya clipsToBounds = true 没有帮助 首先检查你的tableview高度@Abhishek @DivyeshGondaliya 似乎就是这个问题,我给出的静态高度为 120,但两个单元格小于 120 【参考方案1】:

如果您的表格高度合适,那么您的第二个单元格内部视图的高度大于它的高度。

尝试从单元格中删除您的内部视图,或者如果没有内部视图,请检查您的 tableview 高度。

谢谢。

【讨论】:

谢谢@Manish,好像高度是个问题,我给出的静态高度为 120,但两个单元格小于 120 什么是tableview高度? 120,而两个单元格各 44 个【参考方案2】:

我使用包含以下代码的示例视图控制器设置了一个快速演示项目:

@IBOutlet var tableView: UITableView! 
    didSet 
        tableView.rowHeight = 44
    


func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int  return 2 
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
    return tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath)


override func viewDidLoad() 
    super.viewDidLoad()
    tableView.tableFooterView = UIView()


override func viewDidLayoutSubviews() 
    super.viewDidLayoutSubviews()
    tableView.layer.cornerRadius = 10

在情节提要中,视图控制器如下所示:

如您所见,tableview 的高度固定为 128pt。虽然 tableview 只包含两行,每行高度为 44pt(总共 88pt),但 tableview 的角看起来很好。所以你的代码中肯定有其他问题。

【讨论】:

以上是关于Tableview圆角未显示在底部的主要内容,如果未能解决你的问题,请参考以下文章

iOSTableView的footerView不随cell滚动而停留在tableView底部的问题

UITableView 页脚未显示

如何仅在表格视图的文本最后一部分中添加页脚文本?

如何将tableView的约束设置为viewController?

调整 TableView 大小时,Swift 3.0 表格单元格未填充

有没有办法不显示分组 UITableView 中每个部分的顶部和底部单元格的圆角?