Question

J'utilise Xcode 6.0 bêta 4, je trouve que les boutons de la UICollectionViewCell n'est pas la réponse à la tap.

Détails:

UICollectionViewController

--- UICollectionViewCell

------ UIButton (UIButton a deux autolayout les contraintes de mettre la UIButton dans le centre vertical et horizontal au centre de la Cell )

Maintenant, faites la cell la taille est quelque chose comme:(300, 1000)

Exécuter l'application dans le Simulateur d'iPhone ou de l'appareil avec iOS 7.0 ou 7.1.x, le bouton n'est pas palpable, mais le test en iOS 8.0 simulateur c'est OK.Aussi si je change la cellule size pour (300, 200), le bouton fonctionne.

Je pense que c'est un bug dans cette Xcode version bêta, droit?

Et où je peux le feu le bug à Apple?

Était-ce utile?

La solution

Ils ont oublié de définir un autoresizingMask pour la contentView d'un UICollectionViewCell

ce correctif de

self.contentView.autoresizingMask = UIViewAutoresizingFlexibleHeight |    UIViewAutoresizingFlexibleWidth;

Autres conseils

Il semble que ce n'est pas réellement un bug, mais un problème d'incompatibilité de ciblage iOS 7 appareils à l'aide de Xcode 6. ecotaxe post décrit plus en détail, mais voici la réponse d'Apple DTS:

Dans iOS 7, les cellules de contenu " points de vue de la taille d'eux, par le biais d'un redimensionnement automatique des masques.Dans iOS 8, elle a été changée, les cellules cessé de l'utiliser d'un redimensionnement automatique des masques et a commencé dimensionnement de l'affichage du contenu dans layoutSubviews.Si la plume est codée dans iOS 8 et décoder ensuite sur iOS 7, vous avez un affichage du contenu d'un redimensionnement automatique sans masque et sans autres moyens par lesquels la taille elle-même.Donc si jamais vous changer l'image de la cellule, le contenu de la vue ne le suivra pas.

Les applications en cours de déploiement de revenir à iOS 7 sera de contourner ce problème en dimensionnement de l'affichage du contenu lui-même, l'ajout d'un redimensionnement automatique des masques, ou d'ajouter des contraintes.

Alexey la solution ci-dessus fera l'affaire si:

- (void)awakeFromNib
{
   // Fix for iOS 7 devices targeted using Xcode 6.
   self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top