2017-10-17 42 views
0

J'ai fait un semi-arrondi collectionView. Je veux définir mon cadre collectionView qui prend seulement la moitié de l'écran, mais il prend en plein écran, donc je suis incapable de faire quoi que ce soit.Définir la taille du cadre de CollectionView

S'il vous plaît laissez-moi savoir comment définir le cadre pour que UICollectionView.

DSCircularLayout *circularLayout = [[DSCircularLayout alloc] init]; 
    [circularLayout initWithCentre:CGPointMake(SCREEN_WIDTH/2, SCREEN_HEIGHT) 
          radius:165 
          itemSize:CGSizeMake(ITEM_WIDTH, ITEM_HEIGHT) 
       andAngularSpacing:60]; 

    [circularLayout setStartAngle:M_PI endAngle:0]; 
    circularLayout.mirrorX = NO; 
    circularLayout.mirrorY = NO; 
    circularLayout.rotateItems = YES; 

    circularLayout.scrollDirection = UICollectionViewScrollPositionRight; 
    // self.menuCollection.init(f: CGRect, collectionViewLayout layout: UICollectionViewLayout); 

    [self.menuCollection setCollectionViewLayout:circularLayout]; 

menuCollection est mon collectionView que je veux cadre défini.

grâce

+0

Quel est le contrôleur View où 'menuCollection' est utilisé? UIViewController ou autre chose? – Ladislav

+0

Je vous recommande fortement de ne pas définir les cadres par vous-même. Il est beaucoup plus pratique et flexible d'utiliser [mise en page automatique] (https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/)! –

+0

@ladislav c'est uiviewcontroller – user5668061

Répondre

0

En supposant que vous n'utilisez pas la configuration automatique, et votre vue parent de vue collection est plein écran, vous pouvez le définir comme suit.

CGFloat size = self.menuCollection.superview.bounds.size; 
self.menuCollection.frame = CGRectMake(0.0, size.height/4, size.width, size.height/2);