2017-04-03 4 views
2

Ich benutze Kamera und Galerie, um ein Bild aufzunehmen und es der Sammlungsansicht hinzuzufügen, ich möchte ein Bild der Sammlungsansicht nur in horizontaler Richtung hinzufügen, damit ich das Bild zum Array hinzufüge und den Sammlungsrahmen ändere, um die Sammlungsansichtsbreite zu erhöhen, aber Sammlung scrollt nicht zur Horizontalen, wenn ich die Höhe vergrößere, also wie soll ich das machen?Wie scrollen Sammlungsansicht horizontal?

Hier ist mein Code:

UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage]; 
[arrayPictures addObject:image]; 
_collPic.frame = CGRectMake(0, _collPic.frame.origin.y, arrayPictures.count*76, 76); 
[_collPic reloadData]; 
+0

'[yourFlowLayout setScrollDir ection: UICollectionViewScrollDirectionHorizontal]; verwenden Sie –

+0

, um die Richtung im Storyboard festzulegen. – LanWanMan

+0

1. Sie müssen die frame.width der Sammelansicht nicht ändern, um sie in der übergeordneten Ansicht zu fixieren. 2. Passen Sie die Zellengröße an, um sie innerhalb der Sammelansicht anzupassen, die Sie vom Storyboard aus ausführen können. 3. Sie können testen, ob die Zelle horizontal ausgerichtet ist, indem Sie weitere Elemente über das Storyboard hinzufügen. Sie können die Ansicht "Sammlung" nur in der Entwurfszeit anzeigen. – iphonic

Antwort

2

Sie können einfach eingestellt es durch Eigentum Inspektor

enter image description here

Oder Sie können mit

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; 
[flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical]; 
0
UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc]init ]; 
layout.minimumInteritemSpacing = 5; 
layout.minimumLineSpacing = 6; 
layout.itemSize = CGSizeMake(55, 55); 
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; 

blendEffectCollectionView=[[UICollectionView alloc] initWithFrame:CGRectMake(0, 95, 320, 60) collectionViewLayout:layout]; 
[blendEffectCollectionView setDataSource:self]; 
[blendEffectCollectionView setDelegate:self]; 

[blendEffectCollectionView registerClass:[BlendModeCell class] forCellWithReuseIdentifier:@"cellIdentifier"]; 
[blendEffectCollectionView setBackgroundColor:[UIColor clearColor]]; 

[self.view addSubview:blendEffectCollectionView]; 
0

Sie die Breite setzen basierend auf der Anzahl der Bilder. Es sollte auf einen vernünftigen Wert eingestellt werden.

Versuchen

_collPic.frame = CGRectMake(0, _collPic.frame.origin.y, self.view.frame.width, 76); 

Und die scrooll Richtung Sammlung Blick auf horizontal eingestellt.

0

versuchen, diese Codezeile in Sicht programmatisch festgelegt haben Last

[yourCollectionView setScrollDirection:UICollectionViewScrollDirectionVertical]; 
Verwandte Themen