ios iphone swift uicollectionview

ios - uicollectionview eliminar el relleno superior



iphone swift (3)

Tengo un UICollectionView que es la vista completa pero vive dentro de "view" (no es UICollectionViewController). Al agregar una celda a esta vista de colección, se muestra en el siguiente orden en el guión gráfico:

Así es como se ve en el emulador:

No entiendo cómo deshacerme de esa vista. Todos los recuadros están en cero en Storyboard Size Inspector para la vista de colección. Solo para estar seguro, también tengo el siguiente código:

override func viewWillLayoutSubviews() { let layout = self.collectionViewProducts.collectionViewLayout as! UICollectionViewFlowLayout let containerWidth = UIScreen.main.bounds.size.width - 40.0 let itemWidth = (containerWidth / 3.0) let itemHeight = (itemWidth / 0.75) + 30 layout.sectionInset = UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0) layout.itemSize = CGSize(width: itemWidth, height: itemHeight) }

¿Cómo puedo deshacerme de ese relleno superior?


Creo que porque este viewController está incrustado en un navigationController. Seleccione esta vista Controlador en el guión gráfico y desactive Ajustar inserciones de vista de desplazamiento :


Haga que su Navigation Controller > NavigationBar Barra de Navigation Controller > NavigationBar translúcido desmarcando la casilla de verificación Translúcido en IB> Inspector de atributos, y funcionará.


Puede solucionar el problema de relleno superior considerando uno de los siguientes métodos.

Método 1 : forma natural de solucionar su problema configurando las dimensions su colección Ver correctamente desde StoryBoard .

Método 2 : **Updated**

Puede validar el collection frame en viewDidLayoutSubviews o viewWillLayoutSubviews

override func viewDidLayoutSubviews() { collectionView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height) }

Método 3 : puede Adjust Scroll View Insets de la Adjust Scroll View Insets desde el StoryBoard Attributes Inspector StoryBoard .

Método 4 : puede solucionar este problema mediante programación ajustando CollectionView contentInset .

collectionView.contentInset = UIEdgeInsets(top: **Any Value**, left: 0, bottom: 0, right: 0)

Salida con relleno superior 5:

Salida con relleno superior 44:

Salida con relleno superior 64: