10
votes

Plusieurs utablesviews sur un uIView

J'ai besoin d'avoir deux utablesviews sur un UIView. Je peux le faire fonctionner avec un, voici le code: xxx

J'ai essayé plusieurs méthodes différentes. N'importe qui? Si je pouvais nommer chaque UitailView un nom différent qui devrait le faire, mais cela ne me laissera pas modifier la vue de la table à autre chose sans crash.


1 commentaires

Question en double Essayez la solution donnée dans: Stackoverflow.com/a/11789681/846372


3 Réponses :


28
votes

Vous avez donc besoin d'une bonne façon de dire aux deux TableView CODE> S APPART - Vous pouvez définir la propriété "Tag" sur différentes valeurs ou avoir une propriété sur votre contrôleur de vue qui pointe sur chaque vue.

(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    if (tableView == self.tableView1) {
        return 37;
    } else if (tableView == self.tableView2) {
        return 19;
    } else {
        // shouldn't get here, use an assert to check for this if you'd like
    }
}


4 commentaires

J'ai essayé - (NSInteger) NumberOfSectionsView: (UitailView *) TableView {if (TableView == Self.TableOne) {retour 1; } else si (TableView == self.tabletwo) {retour 1; } else {retour 1; }} Cela me donne la déclaration locale des erreurs de la présente instance de la TableView Hides


Avez-vous une variable de classe nommée TableView? Votre classe est-elle ici dérivée de l'UtableViewController, ou autre chose?


J'ai tout fait à l'intérieur de l'UIView. Je n'ai pas eu de contrôleur séparé pour l'UitailView. Je viens d'essayer des sections et il est tellement plus facile que d'essayer de faire deux visites uables séparées. J'ai pu séparer mes deux tableaux dans des sections séparées. Merci pour l'aide. Je ne suis tout simplement pas.


Séparer TableViews serait bon si vous vouliez qu'ils soient défilables séparément ... Si vous souhaitez une liste avec deux types de choses, alors deux sections dans une liste sont la voie à suivre. Cela commencera à donner un sens finalement!



14
votes

Probablement le moyen le plus simple de la mise en œuvre consiste à disposer de deux classes de délégué et de source de données, une pour chaque vue table. Cela permettrait de réduire le nombre de survers des occurrences de la TableView == TableView1) dans le code du contrôleur d'affichage.


2 commentaires

Pourriez-vous fournir un exemple de mise en œuvre pour cela s'il vous plaît?


Mais il multiplierait le nombre de méthodes de délégué et de source de données à mettre en œuvre. C'est un scénario de donner et de prendre :)



5
votes

Cet exemple de code pourrait vous aider ...


0 commentaires