6
votes

IOS UitablementViewAutomaticDimensionDimension Rowheight Performances / sauts

Je construis une vue sur la table de base sur iOS 8. J'ai regardé la vidéo de la WWDC '14 sur le thème des cellules autossize et j'essaie de reproduire le concept, mais j'ai des problèmes. Sur la vue ViewDidLoad: J'appelle:

//estimate for my cells though they may vary

self.tableView.estimatedRowHeight = 300.0;

self.tableView.rowHeight = UITableViewAutomaticDimension;


4 commentaires

Je suis confronté au même problème? une solution de contournement?


@Ahmadraza Ce que j'ai fini par faire était de retourner dans des cellules codées à la main pour assurer un contrôle total sur la mise en page et la fonction. Donc, fondamentalement, au lieu d'utiliser l'interface Builder, je dispose simplement de tous les éléments de la cellule en code, puis remplacez la TableView: HauteurFornorTindexpath: Pour dire à la tableView Quelle est la hauteur de chaque cellule.


J'ai déposé un bug avec Apple (sur ce comportement) et ils ont confirmé qu'il s'agissait d'un bogue (et d'un duplicata d'un déjà déposé) mais ne fournissait plus d'informations que celles (assez gênantes). Je suppose donc que l'utableviewViewViewAutomaticDimesion est connue pour être un peu buggy. Je l'éviterais si possible pour le moment.


J'ai mis en place l'exemple de WWDC2014 pour démontrer ce problème, il est disponible ici: github.com/indiegogo/wwdc-dynamic-type-jumpy-scroll-issue a également déposé un bogue sans réponse.


3 Réponses :


0
votes

ajoutez une autre méthode de délégation au code

- (cgfloat) TableView: (UitailView *) TableView estime estimationHeightFroportindexpath

Il chargera l'utableview tôt que l'heure actuelle. J'espère que cela fonctionnera pour vous.


0 commentaires

6
votes

J'ai trouvé un problème étrange à l'aide de la ligne self.tableview.rowheighight = uableviewAutomaticdimension;

Mais alors, tout est arrivé beaucoup mieux quand je l'ai remplacé par la méthode des délégués. Dans votre cas, ce serait: xxx


0 commentaires

0
votes

dans celltfornortindexpath strong> Ajouter ci-dessous la ligne

cell.textLabel.numberOfLines = 0;


0 commentaires