如果tableview为空,则显示标签和图像

时间:2016-11-07 14:39:12

标签: ios swift uitableview

我在tableView为空时创建了解决方案,然后显示标签“No data available”,否则显示内容。但是我无法一起显示背景图像和标签。我做错了什么?

我就是这样做的:

var numOfSections: Int = 0
        if reviewsArray.count != 0{

            tableView.separatorStyle = .singleLine
            numOfSections = reviewsArray.count

        }
        else{
            let noDataLabel: UILabel     = UILabel(frame: CGRect(0, 0, tableView.bounds.size.width, tableView.bounds.size.height))
            noDataLabel.text             = "No data available"
            noDataLabel.textColor        = UIColor.black
            noDataLabel.textAlignment    = .center
            tableView.backgroundView = noDataLabel
            tableView.separatorStyle = .none

        }

在viewDidLoad中,我添加了带有模糊的背景图片:

let blurredBackgroundView = BlurredBackgroundView(frame: .zero)
        tableView.backgroundView = blurredBackgroundView
        tableView.separatorEffect = UIVibrancyEffect(blurEffect: blurredBackgroundView.blurView.effect as! UIBlurEffect)

请不要建议任何第三方库:)

1 个答案:

答案 0 :(得分:1)

您将背景视图设置为blurredBackgroundView,然后设置为noDataLabel。通过将其设置为noDataLabel,您将摆脱blurBackgroundView。

我尝试添加noDataLabel作为背景视图的子视图。像:

tableView.backgroundView.addSubview(noDataLabel)