Comment régler la hauteur de l'en-tête d'une tableview dans swift?
J'ai un UITableViewController. Cette table view dispose d'une vue d'en-tête.
J'utilise principal.storyboard avec mise en page automatique pour configurer ma manette.
Dans ma main.storyboard, pour w:Tout h:Tout, l'aperçu de mon point de vue, le contrôleur est programmé avec la taille par défaut de 600x600. À l'intérieur, ma vue d'en-tête est défini à 600x200.
Dans mon en-tête de la vue, j'ai une imageView définie sur l'Aspect mode de Remplissage:
Les contraintes :
Dans les actifs, mon image a @2x et @3x tailles.
- [email protected] -> 750x498
- [email protected] -> 1242x825
Quand je compile, dans le simulateur-je obtenir pour iPhone 5:
Pour l'iPhone 6:
Pour iPhone 6+:
- Pour l'iPhone 5, l'image commence en dessous de la barre d'état. Je n'ai pas
comprendre pourquoi? - Pour l'iPhone 6 et l'iPhone 6+, l'image des cultures de la première cellule de mon tableau. Et le haut de l'image n'est pas régler avec le haut de la vue.
Je ne sais pas comment régler la hauteur de la tableHeaderView à la hauteur de mon image, car cette hauteur dépend de l'appareil.
J'ai essayé de définir par programmation à l'image de l'en-tête, en vain:
var frame:CGRect!
frame.size.width = self.bgHeaderImageView.image?.size.width
frame.size.height = self.bgHeaderImageView.image?.size.height
self.tableView.tableHeaderView?.frame = frame
J'ai eu 2 erreurs : "Valeur de l'option type de CGFloat? pas déballé"
Et si je corrige avec
var frame:CGRect!
frame.size.width = self.bgHeaderImageView.image?.size.width!
frame.size.height = self.bgHeaderImageView.image?.size.height!
self.tableView.tableHeaderView?.frame = frame
J'ai eu 2 erreurs : "l'Opérande de postfix ! doit avoir en option de type"
Est-il possible d'ajuster la taille de la table de montage séquentiel directement, et non par programme ?
Je suis probablement manque quelque chose ici...
OriginalL'auteur cmii | 2015-03-21
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une solution, c'est pas très propre, mais ça fonctionne.
c'est terrible.
OriginalL'auteur cmii
La UITableView tableHeaderView a pas d'option pour le ratio d'aspect et de mise en page automatique de l'utilisation de la tableHeaderView est limitée dans le InterfaceBuilder. Il existe de nombreuses façons de parvenir à une dynamique de la hauteur de la tableHeaderView. Si vous voulez avoir un tableHeaderView hauteur en fonction du ratio d'une image d'en-tête vous pouvez utiliser:
OriginalL'auteur Melvin
Essayer cette
Et ce trop
OriginalL'auteur Cloy