web-dev-qa-db-fra.com

UICOLLOgeView Composition de composition avec une hauteur estimée ne fonctionne pas

Je veux que mon application soit optimisée pour toutes les options d'accessibilité, y compris la taille du texte.

J'ai fait une mise en page de collectionView basée sur des sections avec une disposition de composition. Donc, j'ai besoin de la hauteur de ma cellule pour grandir avec son contenu. Je pensais que l'utilisation de .estimated(constant) ferait le travail mais cela ne semble pas fonctionner. Les contraintes internes me semblent bonnes.

Voici la mise en page que je travaille avec:

let size = NSCollectionLayoutSize(widthDimension: .fractionalWidth(0.42), heightDimension: .estimated(90))
let item = NSCollectionLayoutItem(layoutSize: NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .estimated(90)))
item.contentInsets = NSDirectionalEdgeInsets(top: 5.0, leading: 12.0, bottom: 5.0, trailing: 12.0)
let group = NSCollectionLayoutGroup.vertical(layoutSize: size, subitem: item, count: 1)
let section = NSCollectionLayoutSection(group: group)
section.contentInsets = NSDirectionalEdgeInsets(top: 0.0, leading: 6.0, bottom: 0.0, trailing: 0.0)
section.orthogonalScrollingBehavior = .groupPaging

Lorsque j'ai défini une taille de texte plus élevée sur les paramètres d'accessibilité, voici ce qui se passe:

enter image description here

La cellule est censée contenir 2 étiquettes ici est l'autolayoutconstraints:

    NSLayoutConstraint.activate([
        self.titleLabel.topAnchor.constraint(equalTo: self.container.topAnchor, constant: 10),
        self.titleLabel.leftAnchor.constraint(equalTo: self.container.leftAnchor, constant: 20),
        self.titleLabel.rightAnchor.constraint(equalTo: self.container.rightAnchor, constant: -20)
    ])

    NSLayoutConstraint.activate([
        self.subtitleLabel.topAnchor.constraint(equalTo: self.titleLabel.bottomAnchor, constant: 10),
        self.subtitleLabel.leftAnchor.constraint(equalTo: self.container.leftAnchor, constant: 20),
        self.subtitleLabel.rightAnchor.constraint(equalTo: self.container.rightAnchor, constant: -20),
        self.subtitleLabel.bottomAnchor.constraint(equalTo: self.container.bottomAnchor, constant: -10)
    ])

Merci d'avance pour votre aide.

12
Que20

Je ne sais pas qu'il est pertinent pour l'accessibilité du système, mais afaik que vous ne pouvez pas utiliser .estimated() avec .contentInsets sur les articles.

Cela fonctionne parfois mais peu bien. Je me batts aussi ce droit même lorsque vous essayez d'appliquer les embarquement à un groupe (c'est une sous-classe d'article, aurait imaginé qu'il fonctionnerait) :(

1
ozzik