2016-06-29 7 views
2

Ich versuche, den Rahmen meiner UICollectionView zur Laufzeit einzustellen.Einstellung UICollectionView Rahmen zur Laufzeit

Ich versuchte

mainCollectionView.frame = CGRect(x: 20, y: 20, width: self.view.frame.width-20, height: self.view.frame.width-20) 

in meinem viewDidLoad verwenden, aber leider wird es immer wie in IB bleiben. Ich verwende noch nicht constraints.

Ansonsten meine Zellen Ändern der Größe arbeitet in cellForItem:

collectionCell.frame.size.width = self.view.frame.width/8 * 3 
+0

Ihren korrekten Satz Kollektion Bildschirm angezeigt werden soll. –

+0

Mögliches Duplikat von [Wie UIView-Größe programmgesteuert so eingestellt wird, dass sie parrent ohne Einschränkungen entspricht] (http://stackoverflow.com/questions/37725406/how-to-set-uiview-size-to-match-parrent-without-constraints- programmatisch) –

+1

Die Antwort wurde bereits gepostet, aber gelöscht: Es ist wichtig, alles in viewDidLayoutSubviews – JVS

Antwort

1

Try Rahmen zu setzen in viewDidLayoutSubviews

0

Sie sind falsch Schreibhöhe, weil Sie Breite in der Höhe eingestellt werden.

versuchen, diese Linie ohne Navigationsleiste:

mainCollectionView.frame = CGRect(x: 20, y: 20, width: UIScreen.mainScreen().bounds.size.width - (20 * 2), height: UIScreen.mainScreen().bounds.size.height - (20 * 2))