2017-01-11 1 views
2

Zuerst blende ich alle Bilder in der Zelle aus. Nachdem ich geklickt habe, wähle Zeile, in dieser Zelle wird Bild angezeigt und erneut klicken, es wird Bild ausblenden. Das funktioniert. Aber das Problem ist, wenn ich auf diese Zelle klicke (ohne nochmal zu klicken) und dann auf eine andere Zelle klicke, (die andere Zelle zeigt ein Bild), aber die vorherige Zelle wird das Bild nicht verbergen.Bild in der Zelle anzeigen, wenn Sie in einer anderen Zelle auf das Bild klicken und es ausblenden. Swift IOS

This code for cell and didselectrow

+0

Könnten Sie bitte Code-Schnipsel in Ihre Frage einfügen? – Ocunidee

+0

Ich füge image..updated Frage –

Antwort

1

nimmt eine Variable, die Bild aktueller Show enthält der indexPath.row Wert

var showImageIndex : Int? 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{ 

    let tableCell = tableView.dequeueReusableCellWithIdentifier("cellName") as? CustomCell 

    if showImageIndex == indexPath.row{ 
     tableCell.IBimageView.isHidden = false 
    }else{ 
     tableCell.IBimageView.isHidden = true 
    } 
} 

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){ 
    showImageIndex = indexPath.row 
    self.tableViewName.reload() 
} 
+1

Vielen Dank .. Es hat funktioniert –

0

In Ihrer didSelect Methode, bevor irgendetwas mit dem Zeige machen Sie in der alten Zelle versteckte Bild benötigen.

wird dieses Bild in Ihrer alten Zelle

verstecken in Ihrem Code
if(index != nil){ 
    tableView.cellForRow(at:index!) as! FailOrderNoteTableViewCell 
    cell.rightViewCell.hidden = true 
} 

Und anderes Problem ist, dass Sie null für den Index festlegen müssen, wenn Sie nicht gewählt haben Zelle nicht Zeile 99 und Abschnitt 99, die funktionieren fein

Verwandte Themen