mi problema es: con iOS 7 en el agrupados UITableView hay una brecha desde la parte superior de la tabla y la primera celda.

El extraño es que cuando me carga el contenido de la primera vez que el cuadro parece aceptar como en la primera imagen, pero cuando me desplácese hacia abajo aparece un espacio entre la parte superior y la primera celda como en el segundo:

iOS 7 UITableView: Cómo quitar el espacio entre la barra de navegación y la primera celda

Con estilo llano este comportamiento no salió, pero lamentablemente tengo que usar agrupados vista de tabla.

Ideas sobre la ?

  • Tiene usted por casualidad implementado este protocolo? - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
  • No, porque no necesito el título para la sección
  • Te parece algo como algunas origen de datos/delegado en formato tableview problema. El otro que puedo pensar es en - (float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
  • He intentado volver a 0, pero el problema sigue
  • Has añadido ningún márgenes para el formato tableview/formato tableview del scrollview?
  • No………….
  • Lo siento 🙁 todos de las ideas. (sin ver ningún código real)
  • ¿Ha cambiado algo con la cabecera (ya sea para la sección de tabla o vista)? <- como viewForHeader… Mejor aún, ¿qué formato tableview métodos de protocolo hizo implementar?
  • conjunto de heightForHeader es 1. Es trabajo fino (float)formato tableview:(UITableView *)en formato tableview heightForHeaderInSection:(NSInteger)sección { return 1 }

InformationsquelleAutor Fry | 2013-10-01

15 Comentarios

  1. 132

    Sólo tiene que añadir esta en usted ViewDidLoad método

    self.automaticallyAdjustsScrollViewInsets = NO;
    • Esta debe ser la respuesta correcta. Nota: para Más inserciones debe ser ajustada pero esto evita valores arbitrarios.
    • pero de esta forma se rompe el diseño y formato tableview puede ir bajo el encabezado de navegación.
    • Yo también estoy teniendo el mismo problema y la solución funcionó para mí; tengo un formato tableview en una punta y desea que la vista principal para extender por debajo de la barra de navegación, sin embargo quiero que el formato tableview (como subvista) para no mostrar el espacio en blanco adicional en la parte superior del formato tableview
    • +1 he estado tratando de resolver el problema similar con UITabViewController durante 2 días. Soy capaz de resolver mi problema con su solución. Gracias compañero.
    • También puede establecer esta opción de Xcode , seleccione el ViewController y desde el inspector de propiedades, desactive AdjustsScrollViewInsets.
    • Pero si hay una barra de búsqueda como la vista de la tabla de cabecera ,a continuación, la barra de navegación se esconde cuando el usuario hace clic en la barra de búsqueda y se muestra sólo cuando el usuario finaliza la edición.¿Por qué es así?
    • Porque eso es nativo, que es como es. Espero que utilizar UISearchController, es por eso que

  2. 37

    La respuesta fue muy divertido para mí y mi equipo, y trabajó como un encanto

    • En el Interface Builder, Solo tiene que mover el formato tableview bajo otro punto de vista
      en la vista de jerarquía.

    RAZÓN:

    Hemos observado que esto ocurre sólo para la Primera Vista en la Vista de Jerarquía, si este primer punto de vista es un UITableView.
    Así, todos los demás similares UITableViews no tienen este molesto sección, excepto la primera.
    Hemos Intentado mover el UITableView del primer lugar en la vista de jerarquía, y todo estaba funcionando como se esperaba.

    • gran solución. he añadido una etiqueta vacía a la vista, encima de la tabla y funciona.
    • Yo sólo fui a este problema y me costo horas hasta que he encontrado esta respuesta, esto realmente me ayudó mucho. En realidad, mi UITableView es en el firstplace de una UIView objeto, y que UIView es la raíz de la vista en el XIB. Tengo que mover algo por encima de la UITableView para resolver el problema.
    • Esta es la única forma que tengo trabajo … ¿por Qué está sucediendo esto?
    • Lo que si tenemos el contenedor (que abarca la pantalla completa y la que está debajo de la barra de navegación) que tiene la uitableview. Donde debo poner la vista(o vista con etiqueta)? Alguna idea? Gracias de antemano chicos!
  3. 16

    Ir a los atributos del inspector de la Vista Controlador mediante la selección de la xib o el controlador en el Guión gráfico. Desactive la Ajuste de Desplazamiento de la Vista de Inserciones en Diseño. Se va a resolver el problemaiOS 7 UITableView: Cómo quitar el espacio entre la barra de navegación y la primera celda

    • La más sencilla que funciona! Esta debe ser la parte superior votado 🙂
  4. 12

    Si usted está usando un UITableView con agrupados estilo y sólo 1 de grupo, el uso de estilo sencillo en lugar de resolver su problema.

    UITableViewController *tableViewController;
    tableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
    • También se puede cambiar desde el Guión gráfico en la selección de la Vista de Tabla, a continuación, cambiar el valor de los Atributos del Inspector que se encuentra en las Utilidades del panel (el panel del lado derecho).
  5. 3

    Solución más simple a este problema en el agrupados tipo tableView es:

    tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)];
  6. 3

    Para resolver este problema, asegúrese de que usted no seleccione este campo en ViewController:

    Sobre ViewController >> Attibutes Inspector >> Diseño (desactivada – Ajuste de Desplazamiento de la Vista de Inserciones)

    iOS 7 UITableView: Cómo quitar el espacio entre la barra de navegación y la primera celda

    si esto no es suficiente, prueba de esto en el formato tableview, conjunto de Estilo para Llanura:

    iOS 7 UITableView: Cómo quitar el espacio entre la barra de navegación y la primera celda

    Que esto va a resolver su problema

    • wow segundo elemento ayudado para mí. golpeando mi cabeza en la mesa para no pensar en esto
    • si esto ayuda, por favor upvote esta respuesta 🙂
  7. 2

    chicos!
    Yo tenía el mismo problema. Formato tableview apareció con el espacio libre entre la barra de navegación y la primera celda.
    Este código me salvó:

    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
    {
        if (section == 0) {
            return 10;
        }
        else return 2;
    }
  8. 1

    Había un espacio por encima de la UITableView sí mismo, y también entre las células.
    Encontré mi solución en 2 diferentes respuestas anteriores..la publicación de nuevo para que a nadie se le escapa ambas soluciones.

    Esta eliminado el espacio de arriba :

    self.automaticallyAdjustsScrollViewInsets = NO;

    y quitar los espacios debajo de las celdas :
    Ajuste el «Estilo» atributo de la UITableView a ‘Llanura’

  9. 1

    Estoy trabajando con Xcode 7.3.1, iOS9, y swift 2. Me gustaría compartir lo que funcionó para mí:

    Sólo tiene que añadir esta en usted ViewDidLoad método

    self.automaticallyAdjustsScrollViewInsets = false;
  10. 0

    Me doy cuenta de que esto era respondida hace mucho tiempo, pero para que nadie se ejecuta en una situación similar, voy a compartir lo que terminó trabajando para mí:

    Si usted está usando un xib, seleccione el nivel superior de la vista y el conjunto de la Barra de Estado’ a ‘None’ en la simulación de las Métricas de área de los Atributos del Inspector. Fijo mi espaciado problema de la derecha hacia arriba.

  11. 0

    Para mí esto no funciona

    self.automaticallyAdjustsScrollViewInsets = NO;

    Esto sólo provocó la vista de la mesa para sentarse bajo el NavigationBar.

    Lo que funcionó para mí era ir a mi storyboard, y cambiar el tamaño de mi en formato tableview. Parece que mi formato tableview había un 20px brecha en la parte superior para permitir la barra de estado. Yo escala y todo lo alinea a la perfección.

  12. 0

    Yo estaba viendo este espacio extra en la parte superior de una de mis vistas de tabla en una situación muy extraña.

    Después he añadido un UIScrollView como la raíz de la vista de mi primer controlador en mi pila de navegación, si se me presenta el siguiente controlador como un Show Detail segue, mi siguiente controlador tendría el espacio por encima de su vista de tabla.

    La solución para mí fue cambiar el pase a Present Modally y todo volvió a la normalidad.

    La parte más rara de la transición el cambio de era que antes de he añadido mi raíz punto de vista de un UIScrollView, mi Show Detail continuación se presenta el siguiente controlador de forma modal. Sin embargo, después de he añadido la raíz UIScrollView, el Show Detail segue fue empujando en el siguiente controlador (que no era lo que yo quería).

  13. 0

    Tenido un problema similar, incluso automaticallyAdjustsScrollViewInsets a NO. Ya esta resuelto para mí:

    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
    {
        return CGFLOAT_MIN;
    }
  14. -2

    En el UIViewController.h iOS9 SDK tiene un método:

    @property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); //Defaults to YES

    no es una propiedad, por lo que

    self.automaticallyAdjustsScrollViewInsets = NO; 

    debe ser

    -(BOOL)automaticallyAdjustsScrollViewInsets{   
         return NO;
    }

Dejar respuesta

Please enter your comment!
Please enter your name here