2017-01-11 9 views
2

まず、セル内のすべての画像を非表示にします。私はクリックした後、行を選択し、そのセルでイメージを表示し、再度クリックするとイメージを隠すことになります。それは働いている。しかし問題は、そのセルを(クリックしないで)クリックしてから他のセルをクリックすると(他のセルが画像を表示します)、前のセルは画像を隠さないことです。他のセルの画像をクリックして非表示にすると、セル内に画像が表示されます。スウィフトIOS

This code for cell and didselectrow

+0

ご質問にコードスニペットを追加できますか? – Ocunidee

+0

画像を添付しました。更新された質問 –

答えて

1

では、古い細胞内の隠されたイメージに必要な索引を使って何をする前に、あなたのdidSelect方法では、現在のショーの画像のindexPath.row値

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

ありがとうございました。 –

0

が含まれている一つの変数を取ります。

これはあなたの古いセル内の画像を非表示になります

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

そして、あなたのコード内の他の問題は、セル99行ないし、セクション99に動作することをあなたが選択していない場合、インデックスにnilを設定する必要があることです細かい

関連する問題