2014-12-13 181 views
0

我已經在CocoaPods RESideMenu的項目中實現了,然後創建了一個包含表格的視圖。我的問題是,桌子不讓我看到細胞,xcode我沒有錯誤,然後不知道我錯了。誰能幫忙?我輸入代碼:UITableView不顯示單元格。

import UIKit 

class RightMenuViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 

var tableView = UITableView() 
var titles = ["Home","Profilo","Notizie","Impostazioni"] 
//var images = ["IconHome","IconCalendar","IconProfile","IconSettings","IconEmpty"] 

init(frame: CGRect, dialStrings: [String]) { 
    super.init(nibName: nil, bundle: nil) 
    self.tableView = UITableView(frame: CGRectMake(0, (frame.size.height - 54 * 2)/2.0, frame.size.width, 54 * 2), style:UITableViewStyle.Plain) 
} 


override func viewDidLoad() { 
    super.viewDidLoad() 

    self.tableView.autoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth 
    self.tableView.contentInset = UIEdgeInsetsMake(100.0, 0, 0, 0) 
     //contentInset = UIEdgeInsetsMake(64.0, 0, 0, 0) 
    self.tableView.delegate = self 
    self.tableView.dataSource = self 
    self.tableView.opaque = false 
    self.tableView.bounces = false 
    self.tableView.backgroundColor = UIColor.redColor() 
    self.tableView.separatorStyle = .None 
    self.tableView.backgroundView = nil //UIImageView(image: UIImage(named: "BackMenu")) 
    self.tableView.scrollsToTop = false 
    self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "CELL") 
    view.addSubview(self.tableView) 


} 



required init(coder aDecoder: NSCoder) { 
    fatalError("init(coder:) has not been implemented") 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

// MARK: - Table view data source 
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return 54.0 
} 


func numberOfSectionsInTableView(tableView: UITableView) -> Int { 

    return 1 
} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    // #warning Incomplete method implementation. 
    // Return the number of rows in the section. 
    return titles.count 
} 

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

    if (cell == nil){ 
     cell = UITableViewCell() 
     cell!.backgroundColor = UIColor.blueColor() 
     cell!.textLabel.font = UIFont(name: "HelveticaNeue", size: 21) 
     cell!.textLabel.textAlignment = NSTextAlignment.Right 
     cell!.textLabel.textColor = UIColor.whiteColor() 
     cell!.textLabel.highlightedTextColor = UIColor.lightGrayColor() 
     cell!.selectedBackgroundView = UIView.alloc() 

    } 
     return cell! 
} 

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    var mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil) 
    var salViewController: UIViewController 
    switch (indexPath.row){ 
    case 0: 
     salViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("Home") as UIViewController 
     break 
    case 1: 
     salViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("Profilo") as UIViewController 
     break 
    case 2: 
     salViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("Notizie") as UIViewController 
     break 
    case 3: 
     salViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("Impostazioni") as UIViewController 
     break 
    default: 
     break 

    } 

} 

} 
+0

因此,在numberOfRows,NSLog'titles.count'中。 – 2014-12-13 02:55:27

+0

檢查故事板是由故事板呈現的TableViewController嗎?您的自定義RightMenuViewController是Identity Inspector Alt + Cmd + 3上的類嗎? – 2014-12-13 03:33:01

回答

0

您必須進入這一行的代碼將不會看到一些本來不是你數組標題:

cell!.textLabel.text = titles[indexPath.row] 

一旦插入不當會看到菜單。

0

func tableView(...)中,您從未將任何數據分配給您的單元格。這是有道理的,他們是空白的。

3

問題在下面的行中。

self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "CELL") 

這將在複用隊列使用標識符「小區」創建一個小區,這樣,當您編寫代碼象下面

var cell = tableView.dequeueReusableCellWithIdentifier("CELL") as? UITableViewCell 

    if (cell == nil){ 
     cell = UITableViewCell() 
     cell!.backgroundColor = UIColor.blueColor() 
     cell!.textLabel.font = UIFont(name: "HelveticaNeue", size: 21) 
     cell!.textLabel.textAlignment = NSTextAlignment.Right 
     cell!.textLabel.textColor = UIColor.whiteColor() 
     cell!.textLabel.highlightedTextColor = UIColor.lightGrayColor() 
     cell!.selectedBackgroundView = UIView.alloc()  
    } 

細胞永遠不會零

刪除該行並且所有作品都完美

Reference
enter image description here

+0

我刪除了部分代碼,但是,並沒有讓我看到單元格的內容,所以顯示上面顯示的數組。我在想這是圖書館RESideMenu的一個錯誤。 – RoxyS 2014-12-13 20:36:34

+0

@RoxyS RESideMenu中可能沒有問題,我調試代碼並確定該問題,因爲您使用「registerClass」。 – Jageen 2014-12-14 03:16:39

+0

@RoxyS你有沒有一天,上面的代碼不幫你做細胞?如果是這種情況,我必須刪除我的答案, – Jageen 2014-12-14 03:32:55

相關問題