UITableViewCell中的UIImageView不显示条件

时间:2016-05-29 04:39:41

标签: swift2.2 ios9.3

我在自定义UITableViewCell中显示UIImageView,仅用于在Firebase响应中设置了图像URL的单元格。代码如下:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {  let cellIdentfier = "ArticleTableViewCell"
    let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentfier, forIndexPath: indexPath) as!ArticleTableViewCell

    //Configure the cell
    // Added by ankit khanna for UIImageView change

    let imageURL = imageArray[indexPath.row]
    print ("Final Image URL: [\(imageURL)]")

    if (imageURL == "NIL") {
        cell.articalImageView.hidden = true
    }

         let fileUrl = NSURL(string: imageURL as String)
        print ("File URL : [\(fileUrl!)]")
         cell.articalImageView.hnk_setImageFromURL(fileUrl!)


    // End
}

问题是,如果我删除if条件if (imageURL == "NIL")图像正确显示但是当我向后滚动图像时,图像开始显示在它不应该显示的位置。

图像数组:var imageArray = [String]()

下面是我追加数组的代码

            if (snapshot.value.objectForKey("image") != nil)
        {
            let url = snapshot.value.objectForKey("image")!
            let f_url = String(url)
        //    print ("image1 URL : \(f_url)")
            self.imageArray.append(f_url)
        }
        else if (snapshot.value.objectForKey("image") == nil)
        {
            self.imageArray.append("NIL")
        }

我想如何为空的响应禁用UIImageView。

1 个答案:

答案 0 :(得分:0)

我能够通过添加

来解决这个问题 在else语句中

cell.articalImageView.hidden = false

更正后的代码:

        if (imageURL == "NIL") {
        cell.articalImageView.hidden = true
    }
    else {
        cell.articalImageView.hidden = false
         let fileUrl = NSURL(string: imageURL as String)
        print ("File URL : [\(fileUrl!)]")
         cell.articalImageView.hnk_setImageFromURL(fileUrl!)
    }