我有一个tableView,它有:
1-)第1节标题
TableView Cell
2-)第2节标题
Tableview Cell
3-)第3节
(n rows that contains list of records)
我的tableView有3个部分。在第3节中,我列出了记录。当没有记录时,我会显示一个标签,上面写着“没有找到记录”,我的表格如下图所示。
但我的问题是,我想将标签移动到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
}
答案 0 :(得分:2)
您将框架noDataLabel
设置为表格视图的大小,文本在此框架中居中。
您应该尝试将帧缩小(尝试CGRectMake(0,0,0,0)并在设置文本调用noDataLabel.sizeToFit()
后),然后使用noDataLabel.center.x
和noDataLabel.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的末尾看到你的视图。
答案 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()
}