En iOS 6, mi UITableView la sección de índice de la distribución de todos sus elementos de manera uniforme en toda la altura de la vista de tabla. En iOS 7 todos los elementos están agrupadas en el medio, haciendo de los elementos difícil toca. Hay alguna forma de espacio ellos?

InformationsquelleAutor Senior | 2013-09-20

7 Comentarios

  1. 7

    Una de las posibles soluciones aquí – es agregar cadena vacía justo después de cada adición de real el título de su sección título del índice de la matriz y regresar índice dividido por 2 en su tableView: sectionForSectionIndexTitle: atIndex: método.

    Este truco aumentar ligeramente la distancia entre los sucesivos títulos, pero no resolver completamente este problema.

    • se pls u subir ur código y la captura de pantalla para que
    • Este es un tonto hack, pero es una solución fácil y funciona bien si se puede predecir la cantidad de títulos de la sección que desea mostrar. No sé por qué Apple elegir cambiar este control en este camino!
    • Acabo de crear una respuesta con la aplicación de @Anton Malmygin solución.
  2. 7

    Aquí es una aplicación de Anton Malmygin respuesta, usted puede añadir más espacio con sólo añadir más vacía itens en la matriz:

    Primero, vamos a crear un array con los falsos índice.

        NSArray *array = self.mydataArray; //here are your true index
        self.sectionsTitle = [NSMutableArray array];
        int n = array.count;
    
        //In IOS 7 all index of the items are clumped together in the middle,
        //making the items difficult to tap.
        //As workaround we added "fake" sections index
        //reference: https://stackoverflow.com/questions/18923729/uitableview-section-index-spacing-on-ios-7
    
        for (int i = 0; i < n; i++){
            [self.sectionsTitle  addObject:array[i]];
            [self.sectionsTitle  addObject:@""];
        }

    A continuación, puede aplicar formato tableview delegado métodos con el siguiente enfoque:

    Y aquí está el resultado:

    UITableView la sección de índice de espaciamiento en iOS 7

  3. 4

    Hay un poco más fácil camino para completar Anton sugerencia también puede ser ampliado a cualquier número de índices por sección (en lugar de sólo tener dos como Anton sugerido). Para agregar el número adicional de índice de títulos que desea. En este ejemplo he utilizado 4.

    Así que lo primero es agregar las cosas a un indexTitles matriz, en viewDidLoad o lo que sea.
    NOTA: Esto también se puede hacer de forma dinámica si va a agregar contenido al formato tableview
    de forma asíncrona, por eso he añadido la declaración de si, por lo tanto, como no es la primera
    uno va a sustituir el vacío cadenas con los períodos. Esto es por lo que no habrá perdida
    la menstruación al final

    Que ahora podemos utilizar el operador de módulo dependiendo de cuántas cadenas tenemos por índice Título.

    }

    No olvide declarar la sección de índice de títulos para el formato tableview.

    Aquí es uno que hice que carga el contenido de forma dinámica:

    UITableView la sección de índice de espaciamiento en iOS 7

  4. 3

    he encontrado una solución:

    agregar más abajo, en su método y después se cargan los datos

    • Han utilizado este para el posicionamiento de las etiquetas?
    • He usado esto para aumentar el tamaño de la fuente y el posicionamiento de las etiquetas correctamente al hacer una recarga de dos veces…..una vez en cellforrowatindexpath y una vez cuando llegan los datos
    • Esto no funciona en iOS 9
  5. 2

    Aquí es algo que he jugado con el y funciona. Sigue Anton M del consejo, utiliza Swift 2 y ios 9.

    Digamos que usted tiene la siguiente sección de índices:

    Para que todo el mundo está en la misma página, Una es en el índice 0. B es en el índice 1, y así sucesivamente.

    Vamos a suponer que usted desea dos espacios entre los índices. Luego de definir su sección de índices como:

    Así que ahora, sigue en el índice 0, pero B es ahora en el índice 3, C es a las 6, D es a las 9 y E es de 12.

    Todo lo que necesitas es averiguar el desplazamiento en el sectionForSectionIndexTitle. Lo que está después es el índice real de un título como este es lo que tienes en tu tabla. Por lo tanto:

    Así, para cada espacio extra que necesitas entre los índices que usted necesita para añadir un 1 al enumerador de la expresión anterior. Usted puede probar fácilmente esta en el Patio de recreo.

  6. 1

    He probado la solución por Jatin, pero el resultado fue que sólo el cambio en el color y la fuente de la sección de índice. Se mantiene verticalmente comprimido y centrado.

    Creo que este es el nuevo comportamiento de iOS7 (aunque creo que este no es el mejor aspecto visual). Este comportamiento es visible también en este documento oficial de Apple: iOS Human Interface Guidelines – Vista de Tabla

  7. -2

    He probado este mod y funciona, pero usted también tiene que establecer la llamada a la rutina en la viewDidAppear método para que cada vez que la vista aparece que usted necesita llamar a esta rutina y, a continuación, volver a cargar la tabla.

Dejar respuesta

Please enter your comment!
Please enter your name here