2014-04-06 28 views

Odpowiedz

9

Nie sądzę, że można utworzyć prototypową komórkę i udostępnić ją między tabelami w serii ujęć, ale można utworzyć prototypową komórkę w stalówce, a następnie załadować ją w metodzie ViewDidLoad, a następnie użyć w widoku tabeli. . To naprawdę bardzo proste, oto jak ...

A. dodać plik nib:
1. Wybierz nowy plik ... 2. Wybierz IOS -> Interfejs użytkownika
3. Wybierz "Empty" -> to doda nowy plik .xib do twojego projektu.
4. Przeciągnij UITableViewCell z przeglądarki obiektów do pliku XIB i dostosuj do swoich potrzeb
5. Użyj panelu Narzędzia, aby zmienić właściwości -> edytowanie stalówki jest bardzo podobny do edycji scenorysu.
6. Upewnij się, że nazwałeś komórkę - wybrałem komórkę nazwaFromNib, ale prawdopodobnie będziesz potrzebować czegoś innego.

B. Załaduj UITableViewCell w metodzie viewDidLoad każdego stołu:

- (void)viewDidLoad 
{ 
    // load the cell in the nib - the nib can only contain this one UITableViewCell 
    [self.tableView 
     registerNib:[UINib nibWithNibName:[self @"nibFileNameWithoutExtension"] 
            bundle:[NSBundle mainBundle]] 
        forCellReuseIdentifier:[self @"cellFromNib"]]; 
} 

C. De-kolejce stalówki za tableViewCell ...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellFromNib" forIndexPath:indexPath]; 
    // customize your cell here... 
} 

D. Dodaj "atrapę" prototyp na komórkę Twój TableView w Twoim scenopisie. Zrób segue z tej "obojętnej" komórki do widoku, który chcesz wyświetlić po wybraniu komórki - pamiętaj, aby nadać nazwę segue - nazam ją @ "theSegue" dla tego przykładu. Odniesiesz się do tej segue w swoim kodzie.

E. Na koniec dodać kod do Segue z tej celi ...

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // this is basically what the storyboard does under the hood... 
    // make sure you have a "dummy" prototype cell with this segue name for each 
    // tableview that uses this cell 
    [self performSegueWithIdentifier:@"theSegue" sender:self]; 
} 

Jeśli chcesz się specjalizować kodu komórek, utworzyć klasę, która podklasy UITableViewCell

myślę, że to wszystko, co potrzeba.

Powiedziałbym, nie bój się robić czegoś takiego, ponieważ, jeśli poważnie myślisz o programowaniu IOS, dowiesz się czegoś nowego. To naprawdę robi o wiele lepszy kod wielokrotnego użytku.

Powiązane problemy