2009-05-17 8 views

Odpowiedz

15

Ustaw właściwość UITableViewController.tableView na instancję niestandardowej podklasy UITableView.

+1

Załóżmy, że robię to w 'initWithStyle:' po ustawieniu 'self = [super initWithStyle: style]'. Skąd mam wiedzieć, jakie zmiany '- [UITableViewController initWithStyle:]' wykonane do jego 'tableView'? Mogę je zniszczyć. Zobacz http://stackoverflow.com/questions/8512793/objective-c-how-to-change-the-class-of-an-object-at-runtime – ma11hew28

+1

Imho, najmilszym miejscem na to jest przesłonięcie 'loadView' z czymś takim jak 'self.tableView = [[MyTableViewSubclass alloc] init]' lub czymś w rodzaju. – CloakedEddy

5

interfejs konstruktora skojarzyć klasę Tableview z niestandardowym tableview w widoku inspektor tożsamość

0

UITableViewController tylko UIViewController z instancji UITableView i viewController ustawiony jako delegata i źródło danych dla tabeli. ViewController implementuje kody pośredniczące dla tych metod delegatów.

Możesz to zrobić samodzielnie, korzystając z kontrolera UIViewController implementującego protokoły UITableViewDataSource i UITableViewDelegate. Następnie w metodzie loadView (lub viewDidLoad) interfejsu UIViewController ustaw źródło danych tableView w instancji dataSource i deleguj na siebie.

Możesz tam użyć własnej podklasy tabeli.

+1

To wprowadza w błąd. UITableViewController zawiera na przykład unikanie klawiatury. – Luke

+0

czym jest unikanie klawiatury? –

Powiązane problemy