2009-03-18 16 views
3

Est-il possible de redimensionner UITableView sur RootController d'une application en mode navigation? Lorsque RootViewController.xib est ouvert dans IB, il n'y a pas de vue. Juste le UITableView. En cliquant sur l'inspecteur puis sur la petite règle jaune, la hauteur du cadre est grisée. J'ajoute une barre d'outils au programme RootViewController:Redimensionnement de UITableView sur RootController

[toolbar setFrame:rectArea]; 

Cela fonctionne très bien, mais la cellule inférieure dans le tableview est partiellement caché parce que le tableview ne connaît pas la barre d'outils.

Répondre

6

Oui, mais vous devez avoir un ViewController (pas un UITableViewController) en tant que contrôleur racine pour le nav, et envelopper le UITableView réel dans la vue UIViewControllers.

Vous pouvez toujours faire en sorte que le UIViewController soit conforme aux protocoles UITableViewDelgate et Datasource, et utiliser toutes les mêmes méthodes que celles que vous avez maintenant dans votre UITableViewController.

P.S. vous obtiendrez plus de réponses si vous utilisez la balise "iphone".

+0

Je pensais que cela devrait probablement aller de cette façon. Merci pour l'astérisque. – 4thSpace

1

Vous pouvez aussi simplement le contenu et définir encart Scroller du tableview

+0

Ne semble pas fonctionner pour moi. – Dimitris

10

La façon la plus simple, est de régler la contentInset (qui est héritée de UIScrollView). Redimensionner en définissant le cadre peut provoquer des bogues de dessin fou dans les cellules.

Par exemple, si vous essayez de redimensionner un tableview pour le clavier, faire quelque chose comme ceci:

tableView.contentInset = UIEdgeInsetsMake(0.0, 0.0, 216.0, 0.0); 
tableView.scrollIndicatorInsets = tableView.contentInset; 

espoir qui aide quelqu'un. Cette façon a fonctionné le mieux pour moi.

0

j'ai rencontré un problème similaire lorsque vous tentez d'afficher le contrôleur de détail par lui-même, voir: http://vimeo.com/13054813

Le problème est que le contrôleur SPLITVIEW applique sa propre transformation aux sous-contrôleurs, les sortir de la détection d'orientation boucle, qui souffle des chèvres et semble incroyablement «hackish» pour les classes intégrées. (La vidéo illustre ce qui se passe lorsque vous affichez la vue racine en détail, puis la réintègre dans la vue éclatée et la racine en mode paysage, vous obtenez une double rotation de la vue détaillée.)

J'ai de nouveau rencontré ces problèmes de transformation en essayant de redimensionner la sous-vue détaillée d'un SplitViewController en réponse à l'apparition ou à la disparition du clavier. En portrait, tout fonctionne bien, en paysage c'est fscked.

0

Oui, ajustez les options contentInset et scrollIndicatorInsets pour redimensionner l'UITableView. En tant que answer de Sam Soffes posté, j'ai réussi à redimensionner UITableView dans UITableViewController pour le bas UIToolbar.