2016-07-26 5 views

Antwort

2

Die einzige Möglichkeit, eine Zelle über UITableView hinweg zu teilen, besteht darin, sie in einer .xib als separate Datei zu definieren und ihnen eine Wiederverwendungskennung zuzuweisen. Dann im Code registrieren diese Datei/entsprechende Klasse zu UITableView.

z.B. legen diese in der viewDidLoad() Ihrer Tableviewcontroller:

tableView.registerNib(UINib(nibName: "", bundle: NSBundle.mainBundle()), forCellReuseIdentifier: "") 

Und dann kann man weiter auf als normal in der cellForRowAtIndexPath

+0

Vielen Dank, bitte beachten Sie, dass es einen fehlenden Parameter im 'UINib' Initialisierer gibt. –

+0

@appzYourLife Sie sind richtig, danke. Das aus dem Speicher ohne Xcode eingegeben, vergaß es. –

1

Sie haben eine Nib-Datei (.xib) zu erstellen, können Sie das tun, indem tun Datei ->New ->Ansicht (unter Abschnitt Userinterface)

enter image description here

dann Setup Ihr ​​UITableViewCell Element und einige reuseIdentifier setzen, können Sie auch Unterklasse erstellen, wenn Sie

dann in Ihrem Viewcontroller benötigen

in viewDidLoad (wo Sie sich diese benutzerdefinierten tableViewCell nutzen wollte) müssen Sie diese Feder registrieren mit dem Tableview wie

override func viewDidLoad() { 
    // the .xib filename 
    tableView.registerNib(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: "CustomCellId") 

} 

dann in cellForRowAtIndexPath, können Sie es normalerweise wie der Prototyp Zelle verwenden,

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

    let cell = tableView.dequeueReusableCellWithIdentifier("CustomCellId", forIndexPath: indexPath) as! Customcell 

    // your custom code 
    return cell 
} 
Verwandte Themen