2016-10-23 3 views
0

Ich habe eine Funktion, in der ich ein großes Text-Label und zwei kleinere Text-Label möchte. Die Funktion nimmt Daten aus einer Datenbank und legt sie wiederholt in meine 3 Textlabels. Allerdings ist nur mein Standardtextlabel sichtbar. Beide detailTextLabels wird nicht angezeigt.detailTextLabel zeigt nicht

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    // Retrieve cell 
    let cellIdentifier: String = "BasicCell" 
    let myCell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier)! 
    // Get the location to be shown 
    let item: Parsexml = feedItems[indexPath.row] as! Parsexml 
    // Get references to labels of cell 
    print(item) 
    myCell.textLabel!.text = item.name! + " | " + item.address! + " " + item.nr! 
    myCell.detailTextLabel?.text = "City: " + item.city! 
    myCell.detailTextLabel?.text = "category: " + item.category! 
    //Label styling 
    myCell.textLabel?.textColor = UIColor(white: 1, alpha: 1) 
    myCell.textLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12) 
    return myCell 
} 

Wie bekomme ich meine Detailtextbeschriftungen in swift 3?

+0

Vielleicht hast du '.addSubview' in deiner Zelle vergessen? –

+0

Da es sich bei Ihrer Zelle um eine benutzerdefinierte Zelle handelt, müssen Sie eine benutzerdefinierte Klasse erstellen, um diese Zelle zu referenzieren (durch Unterklassenbildung von "UITableViewCell" natürlich). Verwenden Sie dann diese Klasse und greifen Sie auf Ihre benutzerdefinierte Zelle zu. – rptwsthi

Antwort

0

Das bedeutet, Sie haben benutzerdefinierte Zelle, die 3 UILables hat? wenn ja diese Zeile wie diese

let myCell: YouCustomCell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier)! 

sein sollte, dann können Sie

myCell.1stLable.text = item.name! + " | " + item.address! + " " + item.nr! 
myCell.2ndLable.text = "City: " + item.city! 
myCell.3rdLable.text = "category: " + item.category! 

verwenden Sie müssen die Zellenkennung in Storyboard festgelegt.

+0

Ich verstehe es nicht. Meine Storyboard-ID heißt "BasicCell" - Und der Style ist auf "custom" gesetzt? Also was genau macht das? Ich sollte zumindest ein detailTextLabel darin einfügen können? –

+0

Sie müssen eine Unterklasse von UITableViewCell erstellen und diese UILables in diese Klasse ziehen und outlet von ihnen machen – Sofeda

+0

Kann ich das tun, wenn sich mein Inhalt wiederholt? –