Swift如何移动tableView backGroundView标签

时间:2016-12-15 13:18:14

标签: ios iphone swift ios7

我有一个tableView,它有:

1-)第1节标题

    TableView Cell

2-)第2节标题

    Tableview Cell

3-)第3节

    (n rows that contains list of records)

我的tableView有3个部分。在第3节中,我列出了记录。当没有记录时,我会显示一个标签,上面写着“没有找到记录”,我的表格如下图所示。

My Table View Picture

但我的问题是,我想将标签移动到tableview的底部(在“+”视图上)如何移动此标签。这是我的快速代码

func setNoDataInfoIfAbsenceNotExists()
{
    let noDataLabel : UILabel = UILabel()
    noDataLabel.frame = CGRectMake(0, 0 , (self.tableView.bounds.width), (self.tableView.bounds.height))
    noDataLabel.text = "No Records Found"
    noDataLabel.textColor = UIColor.blackColor()
    noDataLabel.textAlignment = .Center
    self.tableView.backgroundView = noDataLabel
    self.tableView.separatorStyle = .None
}

3 个答案:

答案 0 :(得分:2)

您将框架noDataLabel设置为表格视图的大小,文本在此框架中居中。

您应该尝试将帧缩小(尝试CGRectMake(0,0,0,0)并在设置文本调用noDataLabel.sizeToFit()后),然后使用noDataLabel.center.xnoDataLabel.center.y定位。< / p>

尝试:

noDataLabel.text = "No Records Found"
noDataLabel.sizeToFit()
noDataLabel.center.x = tableView.center.x
noDataLabel.center.y = tableView.frame.height - noDataLabel.frame.height

答案 1 :(得分:1)

添加此行

tableView.tableFooterView  = tableViewFooter
你有这样的结果。请参见textview底部的蓝色视图

你的视图只是坚持你的tableview高度,你总是在tableview的末尾看到你的视图。

enter image description here

答案 2 :(得分:0)

创建新单元格,其中包含带文字的标签&#34;无结果&#34; (或者你需要什么) 在您的代码中:

numberOfRowsInSection内:

//other part of your implementation
if indexPath.section == 3 {
    return dataArray.isEmpty ? 1 : dataArray.count
}

cellForRowAtIndexPath方法内:

// other part of your implementation
if indexPath.section == 3 {
    guard !dataArray.isEmpty else {
        return NoDataCell() // replace with your implementation
    }         return YourDataCell()
}