2016-07-26 13 views
0

Ich habe zwei Prototyp-Zellen. Eine für die Anzeige von Daten & andere verwende ich für die Header-Ansicht.mehrere Prototyp Zelle Header bewegt sich beim Löschen

Wenn ich versuche, meine normale Zelle zu löschen. Die Kopfzelle bewegt sich damit.

enter image description here

Ich will nicht Header bewegen, wenn ich versuche regelmäßig Zellen zu löschen.

Ich habe Benutzerinteraktionen auf Header Prototyp Zelle deaktivieren. Trotzdem bewegt es sich weiter. Im Commit-Bearbeitungsstil komme ich sofort zur Header-Prototyp-Zelle zurück. Trotzdem bewegt es sich weiter. Ich weiß nicht, was ich sonst tun soll. Bitte helfen Sie.

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 

    if tableView == upcomingTableView { 

     if let headerCell = tableView.dequeueReusableCellWithIdentifier("headerCell") { 

      headerCell.textLabel?.text = sectionNames[section] 

      headerCell.detailTextLabel?.text = "Rs\(sum[section])" 

      headerCell.detailTextLabel?.textColor = UIColor.blackColor() 

      headerCell.backgroundColor = UIColor.lightGrayColor() 

      return headerCell 
     } 
    } 

    return nil 
} 

Zelle für Zeile bei Index-Pfad ist auch sehr regelmäßig Code.

+0

einige Codes hinzufügen aus Ihrer Tabellenansicht Delegatmethoden. –

Antwort

1

Aktualisiert Antwort:

eine UIView erstellen und tableViewCell als Subview hinzufügen und die UIView zurückzukehren.

Lösung in Swift:

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 

    if let headerCell = tableView.dequeueReusableCellWithIdentifier("headerCell") { 

     //Create an UIView programmatically 
     let headerView = UIView() 

     headerCell.textLabel?.text = (section == 0) ? "Apple" : "Microsoft" 
     headerCell.backgroundColor = UIColor.lightGrayColor() 

     //Add cell as subview to UIView 
     headerView.addSubview(headerCell) 

     //Return the header view 
     return headerView 
    } 

    return nil 

} 

Ausgang:

enter image description here

+0

Danke für den Versuch, aber zufriedene Ansicht machen leere Zelle. Ich habe auch ein neues Projekt erstellt und mit gefälschten Daten versucht. Inhaltsansicht rendert leeren Leerraum. –

+0

@ApoorvMote: Der Grund dafür, dass Header View sich mit anderen Zellen bewegt, liegt darin, dass er die Eigenschaften von UITableViewCell erbt, d. H. Während der Bearbeitung nach links verschoben wird. Ja, das Zurückgeben von cell.contentView funktioniert nicht, deswegen denke ich. Ich werde meine Antwort mit Sample Swift Code aktualisieren. – Tesan3089

+0

Es behebt das Problem löschen, aber es schafft ein anderes Problem für mich. Die Kopfzeilenansicht blutet in die Tabellenzelle. Ich kann das beheben, indem ich die Höhe der Header-Ansicht auf 44.0 CGFloat fest codiere. Aber ich mag keinen harten Kodierungswert. Wie verhindere ich, dass die Kopfzeilenansicht in die Tabellenzelle blutet? –