2016-06-06 16 views
0

Ich habe eine Tabellenansicht und Xib-Tabellenansicht Zelle erstellt. Ich benutze die Xib-Tabellenansicht Zelle durch Hinzufügen von Unteransicht. es scheint jedoch die Funktion von func tableView verloren (tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)Unteransicht von xib tableview cell (swift) hinzufügen

Ich möchte, dass diese benutzerdefinierte Tabelle Tabellenzelle die normale Zelle in meiner Tabellenansicht erben. wie geht das ??

import UIKit 

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 

override func viewDidLoad() { 
    super.viewDidLoad() 

    var myTableView = UITableView(frame: self.view.bounds, style: UITableViewStyle.Plain) 
    myTableView.dataSource = self 
    myTableView.delegate = self 

    myTableView.backgroundColor = UIColor.whiteColor() 

    myTableView.frame = CGRectMake(20, 50, 250, 400)//Optional for table size 

    myTableView.registerNib(UINib(nibName: "MyTableViewCell", bundle: nil), forCellReuseIdentifier: "myIdentifier") 

    self.view.addSubview(myTableView) 
} 

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

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

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    let myCell = tableView.dequeueReusableCellWithIdentifier("myIdentifier") as! MyTableViewCell 
    myCell.myString1.text = "Row \(indexPath.row)" 
    myCell.myString2.text = "String \(indexPath.row)" 
    return myCell 
} 

}

+0

vielleicht sollte ich nicht addsubview ?? –

+0

Nein, das tun Sie definitiv nicht. –

+0

Wenn Sie die Schreibfeder richtig erstellt haben und sie von der UITableView-Zelle erbt, brauchen Sie nur die Basisfunktionalität zu haben. –

Antwort

0

Sie werden von UITableViewController erben wollen, und nicht UIViewController. Als solcher:

class ViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate { 
    super.viewDidLoad() 

    self.tableView.dataSource = self 
    self.tableview.delegate = self 
    self.tableview.backgroundColor = UIColor.whiteColor() 
    self.tableView.registerNib(UINib(nibName: "MyTableViewCell", bundle: nil), forCellReuseIdentifier: "myIdentifier") 
) 
+0

ich verstehe es nicht. Ich habe jetzt eine Tabellenansicht innerhalb der Viewcontroller –

+0

Siehe meine aktualisierte Antwort, müssen Sie nicht erstellen eine neue Tabellenansicht und fügen Sie es als Unteransicht hinzu –

Verwandte Themen