J'ai des problèmes avec la propriété contentInset
. J'ai un UITableView
, avec des tailles de cellule dynamiques (AutoLayout). Je configure la propriété contentInset
pour laisser un espace au-dessus du haut du contenu. Mais j'obtiens le résultat suivant:
Le contenu est en bleu, le contenu incrusté en violet. Lorsque la vue tableau apparaît pour la première fois, elle se trouve dans la situation de gauche. Je peux faire défiler pour arriver à la bonne situation, qui fonctionne, mais je voudrais que la vue de la table apparaisse directement comme dans la bonne illustration - ce que je pensais être le comportement par défaut.
Comment puis-je y parvenir?
4 Réponses :
Voici comment cela peut être corrigé facilement à partir du Storyboard:
Vue tableau> Inspecteur de taille> Encarts de contenu: jamais
Je n'utilise pas Storyboard, mais j'ai essayé d'utiliser scrollView.contentInsetAdjustmentBehavior, cela n'a pas aidé
Vous fournissez un objet UIEdgeInset,
UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)
La propriété top indique la distance entre le haut du contenu et la bordure supérieure de la zone.
ouais c'est ce que je fais
Je ne sais pas si c'est le meilleur moyen mais je l'ai corrigé en ajoutant:
tableView.contentInset = UIEdgeInsets(top: 70, left: 0, bottom: 50, right: 0)
après la ligne:
tableView.contentOffset.y = -70
vous pouvez faire défiler par programme lors du chargement de la vue.
tableView.setContentOffset(CGPoint(x: 0, y: -70), animated: false)
C'est ce que j'ai fini par faire, pas très joli cependant. Je pensais que la vue de défilement s'ajusterait automatiquement pour qu'elle défile "vers le haut" directement
est-ce que cela aide? stackoverflow.com/questions/22020943/…
@RakeshaShastri J'ai déjà vu ça et j'ai essayé mais ça n'a pas fonctionné