Contenu de problème de taille pour UITableView dans UIscrollView
J'ai fait créer un UIScrollView
avec un UITableView
à l'intérieur avec interface builder. J'ai défini la taille du contenu de mon UIScrollView
avec:
scrollView.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height);
et j'ai mis mon fichier propriétaire de vue de la UIScrollView
J'ai créé un IBOutlet
UITableView
et je l'ai mis dans interface builder.
Lorsque la vue est chargé. il affiche le bon contenu à la taille de ma UIScrollView
. Mais il n'affiche pas le bon contenu à la taille de ma UITableView
. D'ailleurs lorsque je change la taille du contenu de mon UIScrollView
, il change la taille du contenu de mon UITableView
comme si à la fois de la taille du contenu connexes.
Quelqu'un sait comment je peux le garder la taille du contenu de ma table, vue que j'ai mis dans interface builder?
Vous devez vous connecter pour publier un commentaire.
Un
UITableView
est unUIScrollView
. Il y a très peu de fois où il serait utile d'incorporer unUITableView
à l'intérieur d'unUIScrollView
.En supposant que vous voulez que cela, vous aurez besoin de faire la suite de quelque part. Probablement dans votre
UIViewController
dans les méthodes commeviewDidAppear:
ou quelque part vous une fois que vous remplissez le tableau.tableView
etscrollView
sont censés être les IBOutlets vous avez associés à ces éléments.NSLog(@"table view %@",tableView); NSLog(@"frame %@",tableView.frame); > table view <UITableView: 0x1099c00; frame = (0 397; 320 250); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x45a5b0>; contentOffset: {0, 0}> > frame (null)
description
méthode sur l'objet, mais d'une structure n'a pas cette capacitétableView.addObserver(self, forKeyPath: "contentSize", options:NSKeyValueObservingOptions.New, context: nil)
Exemple pour gérer de façon dynamique la TableView Hauteur le long avec le ScrollView, les œuvres de Swift:
Références:
Si vous rencontrez toujours des problèmes, essayez sans la nécessité d'une scrollView.
Après avoir joué avec DBD exemple pendant un certain temps, j'ai trouvé que le cadre et contentSize ne semblent pas pouvoir être mis ensemble comme:
La tentative a été de définir une hauteur max de l'image, mais garder la possibilité de parcourir l'ensemble du contenu si il y avait un grand nombre de cellules. Ce hack fonctionne bien et peut être modifié avec d'autres conditions, en cas de besoin:
Cela fonctionne pour vous. Vous devrez peut-être ajuster la autoresizingMask à l'intérieur de votre .xib ou dans votre code, mais ce hack est la seule solution que j'ai trouvé qui prend soin de tous les différentes variables dans mon cas.
Appel ci-dessous la méthode plusieurs fois. Chaque fois que vous appelez il n'y aura plus de cellules.