UICollectionView añade margen superior
Quiero poner un control UICollectionView que muestre los pulgares horizontalmente (solo una línea de pulgares). Por alguna razón, el UICollectionView empuja los pulgares 44 píxeles hacia abajo, por lo que la altura "0" es en realidad "44". Supongo que podría estar agregando este espacio para considerar la altura de la barra de navegación (solo asumo). Dado que mi UICollectionView está solo en una parte de la pantalla, no quiero este margen. ¿Hay alguna manera de eliminarlo?
6 answers
El problema puede estar en las inserciones de contenido de la vista de colección.
Intente agregar self.automaticallyAdjustsScrollViewInsets = NO;
en el método viewDidLoad
del controlador de vista.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-16 19:08:36
También puede establecer esto en el guion gráfico.
Asegúrese de haber seleccionado ViewController, y luego desmarque "Ajustar inserciones de vista de desplazamiento".
No he probado lo que este método IB/Storyboard hace en iOS6. Con el método code es necesario comprobar que el VC responde al método:
if ([self respondsToSelector:@selector(setAutomaticallyAdjustsScrollViewInsets:)]) {
self.automaticallyAdjustsScrollViewInsets = NO;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-14 11:54:55
Encontré que añadiendo:
self.edgesForExtendedLayout = UIRectEdgeNone;
En el controlador de vista estaba cargando el UICollectionView en solucionado el problema ya que no podía conseguir que la respuesta aceptada funcionara.
La pregunta a la que encontré esta respuesta se puede encontrar aquí y proporciona una explicación extremadamente detallada e interesante de la diferencia entre inserciones de vista de desplazamiento ajustadas automáticamente, diseños extendidos y borde para diseños extendidos.
Bien vale la pena leerlo
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:47
Tal vez pueda intentar forzar este valor en 0 usando el diseño de flujo Delegado de la vista de colección:
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(PADDING_TOP, PADDING_LEFT, PADDING_BOTTOM, PADDING_RIGHT);
}
Modifica el valor de tu relleno.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-16 18:57:17
Swift 3:
Primero desea establecer el ViewController automaticallyAdjustsScrollViewInsets
en false:
self.automaticallyAdjustsScrollViewInsets = false
Entonces, usted debe ser capaz de ajustar las inserciones de borde en consecuencia:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
//top, left, bottom, right
return UIEdgeInsets(top: 10, left: 0, bottom: 0, right: 0)
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-27 04:24:11
Similar a la respuesta de @Sviatoslav, puedes intentar lo siguiente:
- (void) viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
yourCollectionView.contentOffset = CGPointMake(0, 0);
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-02 00:30:05