Question

Je ne parviens pas à créer UIView (dans Interface Builder) contenant un UITableView avec un autre objet, tel qu'un UIButton ou UILabel. UITableView occupe toujours la quantité maximale d'espace dans UIView, quelle que soit la taille de l'objet UITableView lui-même. Le propriétaire du fichier est un UITableViewController standard.

Était-ce utile?

La solution

Voici comment faire cela facilement:

1) Créez un contrôleur de vue de table avec xib.

2) Remplacez le type hérité du fichier .h par UITableViewController par UIViewController.

3) Ajoutez les protocoles UITableViewDataSource, UITableViewDelegate au fichier .h.

4) Ouvrez le fichier xib, ajoutez-le dans une vue.

5) faites glisser la vue du tableau dans la bibliothèque xib sous la vue, redimensionnez-la à votre guise.

6) Câblez la " vue " propriété du propriétaire du fichier sur la vue au lieu de la UITableView. Les propriétés de source de données et de délégué de la vue table doivent toujours être connectées au propriétaire du fichier.

7) (facultatif) si vous souhaitez pouvoir recharger ou accéder à la table en dehors des méthodes de délégation du contrôleur de vue de table qui passent dans une vue de table, définissez un UITableView * IBOutlet nommé "myTable". ou similaire, et câblez la table dans IB à cela.

Une autre approche consiste à créer un nouveau UIViewController avec xib, à ajouter une table à xib, à relier la source de données / délégué au propriétaire du fichier et à créer une nouvelle classe UITableViewController que vous utiliserez pour copier les méthodes dans votre contrôleur de vue. puis supprimez.

Autres conseils

Malheureusement, créer une UITableView dans Interface Builder (IB) était très problématique pour moi. En tant que développeur débutant, j’ai rencontré les mêmes problèmes que vous et, après beaucoup de frustration, vous avez fini par abandonner IB pour UITableViews.

La meilleure solution pour moi consistait simplement à implémenter le programme UITableViewController (et le contrôleur UINavigationController que vous utilisez en tant qu'en-tête). Une fois que vous avez compris le paradigme Model-View-Controller, il est en fait assez simple.

La documentation d'Apple portant ces noms contient de bonnes ressources pour les traiter par programme:

"Guide de programmation Table View pour iPhone OS" "
"Guide de programmation View Controller pour iPhone OS"

Cocoa with love a publié un article sur Recréation de UITableViewController pour augmenter la réutilisation du code . Ceci est utile si vous ne pouvez pas utiliser un UITableViewController , mais voulez vous assurer que votre UIViewController se comportera de la même manière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top