2016-12-25 4 views
0

Ich versuche, eine sehr einfache indexierte tableView in Swift 3 zu machen. Ich schaffte es, den Index zur Ansicht hinzuzufügen, aber sobald ich die Abschnitte Header hinzugefügt, zeigte jede Zelle ein seltsame Trennlinie auf der rechten Seite (see screenshot)uitableview Zelle in hat ein laterales Trennzeichen

Ich habe keine Ahnung, wo es herkommen könnte und es erscheint nicht in anderen indizierten Tableview Tutorials, die ich online sah.

Dies ist der Code für die Tableviewcontroller:

class TableViewController: UITableViewController 
{ 
    var tableData : [String] = [] 
    var indexOfNumbers : [String] = [] 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     let numbers = "100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500" 
     tableData = numbers.components(separatedBy: " ") 

     let indexes = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" 
     indexOfNumbers = indexes.components(separatedBy: " ") 
    } 

    override func numberOfSections(in tableView: UITableView) -> Int { return indexOfNumbers.count } 

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 1 } 

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 

     cell.textLabel?.text = tableData[indexPath.section] 

     print(indexPath.section, indexPath.row, separator : " ") 

     return cell 
    } 

    override func tableView(_ tableView: UITableView, sectionForSectionIndexTitle title: String, at index: Int) -> Int 
    { 
     let temp = indexOfNumbers as NSArray 
     return temp.index(of: title) 
    } 

    override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? 
    { 
     return "Section \(section)" 
    } 

    override func sectionIndexTitles(for tableView: UITableView) -> [String]? 
    { 
     return indexOfNumbers 
    } 
} 

Was kann ich tun?

Dank

Antwort

0

Ich glaube, müssen Sie die folgende Delegatfunktion Kommentar oder zu entfernen.

override func tableView(_ tableView: UITableView, sectionForSectionIndexTitle title: String, at index: Int) -> Int 
    { 
     let temp = indexOfNumbers as NSArray 
     return temp.index(of: title) 
    }