2009-05-17 12 views

Antwort

15

Setzen Sie die UITableViewController.tableView-Eigenschaft auf eine Instanz Ihrer benutzerdefinierten UITableView-Unterklasse.

+1

sagen wir, ich mache das in 'initWithStyle:' nachdem ich 'self = [super initWithStyle: style]' gesetzt habe. Woher weiß ich, was sich ändert? - [UITableViewController initWithStyle:] 'made to' tableView'? Ich könnte das rückgängig machen. Siehe http://stackoverflow.com/questions/8512793/objective-c-how-to-change-the-class-of-an-object-at-runtime – ma11hew28

+1

Imho, der beste Ort dafür ist, 'loadView' zu überschreiben mit etwas wie 'self.tableView = [[MyTableViewSubclass alloc] init]' oder etwas Ähnliches. – CloakedEddy

5

In Interface Builder assoziieren die Tableview-Klasse mit Ihrer benutzerdefinierten Tableview in der Identität Inspektoren Ansicht

0

A UITableViewController ist nur ein UIViewController mit einer UITableView-Instanz und die Viewcontroller eingestellt als Delegierter und Datenquelle für den Tisch. Der ViewController implementiert Stubs für diese Delegate-Methoden.

Sie können es selbst tun, indem Sie einen UIViewController implementieren die UITableViewDataSource und UITableViewDelegate Protokolle. Setzen Sie dann in der Methode loadView (oder viewDidLoad) des UIViewControllers die dataSource und delegate der tableView-Instanz auf self.

Sie können dort Ihre eigene Tabellenunterklasse verwenden.

+1

Das ist irreführend. UITableViewController beinhaltet beispielsweise auch die Vermeidung von Tastaturen. – Luke

+0

was ist Tastaturvermeidung? –

Verwandte Themen