2016-08-08 147 views
1

有人知道這裏有什麼錯嗎?我想添加的tableView在我的ParentView的子視圖,UITableView有沒有(我可以滾動,但細胞無法顯示的標籤文本)...我的代碼:UITableViewCell沒有顯示標籤

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! 
} 
} 

我試圖設置爲textLabel的顏色文本還試圖設置單元格的背景顏色,但沒有工作對我來說


UPDATE(解決) 需要添加的狀態標籤(當我選擇單元格標籤出現)

任何人都可以解釋我在這裏實際發生了什麼,我不能選擇第1行,當我選擇我的行它變成灰色,當我選擇任何其他行時,先前選定的行變成藍色,當我滾動和單元格從屏幕消失(偏移)他們再次變得不可見,直到我選擇任何行,任何線索?

enter image description here

+0

'打印( 「細胞」)'打印在控制檯或不是? –

+0

爲什麼如果在alloc/init之後出列單元呢? – Larme

+0

打印單元格打印罰款@BhavinRamani –

回答

2

嘗試修改代碼以這種

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! 
}