Ios 如果UITableView没有数据,如何添加UIImage和UILabel

Ios 如果UITableView没有数据,如何添加UIImage和UILabel,ios,uitableview,swift3,uiimage,Ios,Uitableview,Swift3,Uiimage,我已经研究了很多答案,但要么只是UILabel要么UIImage两者都不是。因此,在尝试实现它之后,我最终发现我们不能做两个tableView.backgroundView。以下是我迄今为止所做的工作: func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { let noDataLabel: UILabel = UILabel(frame: CGRec

我已经研究了很多答案,但要么只是
UILabel
要么
UIImage
两者都不是。因此,在尝试实现它之后,我最终发现我们不能做两个
tableView.backgroundView
。以下是我迄今为止所做的工作:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    {
        let noDataLabel: UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: tableView.bounds.size.width, height: tableView.bounds.size.height))

let image = UIImage(named: "noData")
let noDataImage = UIImageView(image: image)

noDataImage.frame = CGRect(x: 0, y: 10, width: 20, height: 20)

if allData.count == 0 {

noDataLabel.isHidden = false
noDataImage.isHidden = false

noDataLabel.text          = "No data added. Add new entry \nby pressing the add icon on top right."
noDataLabel.textColor     = UIColor.black
noDataLabel.numberOfLines = 3
noDataLabel.backgroundColor = UIColor.white
noDataLabel.textAlignment = .center

 //what to do from here           
            tableView.backgroundView  = noDataImage
            tableView.backgroundView  = noDataLabel

//end
                tableView.separatorStyle  = .none
                return 0;
            }
            else {
                noDataLabel.backgroundColor = UIColor.clear
                noDataLabel.isHidden = true
                noDataImage.isHidden = true
                tableView.backgroundView  = nil
                return allData.count
            }
我想显示一个图像,在该图像下面我想显示一个
UILabel
。我怎样才能做到这一点

backgroundView Property
表视图的背景视图

声明

迅捷的

var背景视图:UIView

目标-C

@属性(非原子、读写、保留)UIView*backgroundView

讨论

表格视图的背景视图会自动调整大小以匹配表格视图的大小。此视图作为表格视图的子视图放置在所有单元格、页眉视图和页脚视图后面

必须将此属性设置为nil才能设置表视图的背景色

表视图的背景视图

声明

迅捷的

var背景视图:UIView

目标-C

@属性(非原子、读写、保留)UIView*backgroundView

讨论

表格视图的背景视图会自动调整大小以匹配表格视图的大小。此视图作为表格视图的子视图放置在所有单元格、页眉视图和页脚视图后面


您必须将此属性设置为nil才能设置表视图的背景色。

您需要创建一个带有
子视图的
视图
您的
图像
标签

var backgroundView =UIView(frame: CGRectMake(0, 0, your_width, your_height))
backgroundView.addSubview(noDataImage)
backgroundView.addSubview(noDataLabel)

 tableView.backgroundView=backgroundView;

注意:根据您的使用调整
nodata图像
nodata标签
的框架。

您需要创建一个
视图
,其中包含
子视图
您的
图像
标签

var backgroundView =UIView(frame: CGRectMake(0, 0, your_width, your_height))
backgroundView.addSubview(noDataImage)
backgroundView.addSubview(noDataLabel)

 tableView.backgroundView=backgroundView;

注意:根据您的使用调整
noDataImage
noDataLabel
的边框。

我会将表格视图放在“无数据”上方查看并使tableView背景透明。您的意思是在UIView上我应该添加图像和标签,如果计数为零,那么我应该使表格背景透明?创建一个视图而不是登录到背景视图,这已经由@arbit belowI回答过了。它会将tableView置于“无数据”之上查看并使TableView背景透明。你的意思是在UIView上我应该添加图像和标签,如果计数为零,那么我应该使表格背景透明?创建一个视图而不是登录到背景视图,这已经由下面的@arbit回答了