2016-08-08 38 views
1

Wer weiß, was hier falsch ist? Ich versuche, eine Tableview Innerhalb meines ParentView SubView hinzufügen, UITableView gibt es (ich kann es bewegen, aber die Zellen nicht den Beschriftungstext angezeigt) ... mein Code:UITableViewCell zeigt nicht Label

class ViewController: UIViewController, UITableViewDelegate , UITableViewDataSource { 

let containeView = UIView() 
var tableView = UITableView() 

let mArray = ["HELLO","FROM","THE","OTHER","SIDE"] 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 


    containeView.frame = CGRectMake(20, 20, self.view.frame.size.width - 40, self.view.frame.size.height - 40) 
    tableView = UITableView(frame: containeView.bounds, style: .Plain) 
    containeView.backgroundColor = UIColor.purpleColor() 
    containeView.center = self.view.center 
    containeView.addSubview(tableView) 
    tableView.delegate = self 
    tableView.dataSource = self 
    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell") 
    tableView.reloadData() 


    view.addSubview(containeView) 

    tableView.reloadData() 
} 


func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return 1 
} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 

    return 5 
} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    var cell:UITableViewCell? = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as? UITableViewCell 

     cell = UITableViewCell(style: .Default, reuseIdentifier: "Cell") 
     cell?.backgroundColor = UIColor.greenColor() 
     cell?.textLabel?.text = mArray[indexPath.row] 
     cell?.backgroundColor = UIColor.redColor() 
     cell?.textLabel?.textColor = UIColor.blackColor() 
     cell?.backgroundColor = UIColor.blueColor() 
     print("CELL") 


    return cell! 
} 
} 

Ich habe versucht, die Farbe des textlabel ist gesetzt Text auch versucht, die Hintergrundfarbe der Zelle zu setzen, aber nichts funktionierte für mich


UPDATE (GELöST) benötigt, um den Zustand für die Etiketten hinzufügen (Etikett wird erscheinen, wenn ich die Zelle bin Auswahl)

Kann mir jemand erklären, was hier eigentlich passiert, ich kann Zeile 1 nicht auswählen, und wenn ich meine Zeile auswähle, wird sie grau. Wenn ich eine andere Zeile auswähle, wird die vorherige Zeile blau und wenn ich blättern und zellen Verschwinde vom Bildschirm (Offset) sie werden wieder unsichtbar, bis ich irgendeine Zeile auswähle, irgendein Hinweis ??

enter image description here

+0

'print ("CELL")' Druck in der Konsole oder nicht auf diese ändern? –

+0

Warum entschachtest du die Zelle, wenn sie nach alloc/init ist? – Larme

+0

Druckzelle ist in Ordnung @ BhavinRamani –

Antwort

2

Versuchen Sie Ihren Code

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    var cell = tableView.dequeueReusableCellWithIdentifier("Cell") 
    if cell == nil { 
     cell = UITableViewCell(style: .Default, reuseIdentifier: "Cell") 
     cell?.backgroundColor = UIColor.greenColor() 
    } 

    cell?.textLabel?.text = mArray[indexPath.row] 
    cell?.textLabel?.textColor = UIColor.blackColor() 
    print("CELL") 

    return cell! 
}