2016-05-29 17 views
0

Ich zeige eine UIImageView in einer benutzerdefinierten UITableViewCell nur für die Zellen an, deren Image-URL in der Firebase-Antwort festgelegt wurde. wie unten Code:UIImageView in UITableViewCell wird für eine Bedingung nicht angezeigt

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 
} 

Problem ist, wenn ich das, wenn die Bedingung if (imageURL == "NIL") Bild richtig angezeigt wird entfernen, aber dann, wenn ich Bild scrollen wieder nach oben beginnt zu zeigen, wo es nicht nach oben zeigen sollte.

Bild Array: var imageArray = [String]()

Unten ist der Code, wo ich das Array am anhängen

  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") 
     } 

Wie bin ich nehme an, die UIImageView für die Antwort zu deaktivieren, wenn es leer ist.

Antwort

0

konnte ich dieses Problem lösen, indem

cell.articalImageView.hidden = false in der else-Anweisung hinzufügen.

Corrected Code:

 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!) 
    }