2016-11-07 8 views
1

tableViewが空の場合はソリューションを作成し、ラベルは「データなし」、それ以外の場合はコンテンツを表示します。しかし、私は一緒に背景画像とラベルを表示することができません。私が間違っていることは何ですか?tableviewが空の場合はラベルと画像を表示

これは私がそれを行う方法です。

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) 

任意のサードパーティのライブラリを提案しないでください:)

+0

ラベルで背景イメージを上書きしています。背景イメージとラベルで新しい 'UIView'を作成する必要があります。 'reviewArray'が空のときは、' tableView.background'として設定します。 – Eeshwar

答えて

1

あなたはバックグラウンドビューをblurredBackgroundViewに設定してからnoDataLabelに設定しています。これをnoDataLabelに設定すると、blurredBackgroundViewが取り除かれます。

私はnoDataLabelをバックグラウンドビューのサブビューとして追加しようとします。ようこそ:

tableView.backgroundView.addSubview(noDataLabel)

+0

素晴らしいですが、私はまだサブビューとすべてのものに精通しています。しかし、それは動作しました、非常にありがとう:) –

+0

ニース!私はそれがうまくいってうれしいです。 –

+0

psこれを受け入れられた回答としてマークすることができますので、私はクレジットを受け取りますか? :) –

関連する問題