2011-02-19 17 views
11

Tengo una aplicación iPhone en funcionamiento con un UITabBarController. Todo funciona bien La aplicación tiene más pestañas de las que se pueden mostrar en el ancho de retrato de la pantalla, por lo que vemos 5 pestañas en total (la última es la pestaña "más"). El asunto es que queremos relegar algunas de las cosas "menos interesantes" que están detrás de la pestaña "más". Sé que si tuviera solo 2 controladores de vista, solo vería 2 pestañas, y así sucesivamente hasta que excediera 5 pestañas.¿Cómo limitar el número de pestañas en un UITabBarController?

¿Cómo podemos mostrar solo 4 pestañas (3 más una pestaña "más"), en lugar de 5?

Supongo que esto no es posible simplemente estableciendo un atributo (que sin duda sería conveniente), ya que no puedo encontrar nada en los documentos, o francamente, sugerir lo contrario.

A falta de implementar mi propia pestaña "más" y suministrar al controlador de la barra de pestañas solo 4 controladores de visualización (el último es mi propio "más" controlador), se agradecen todos los consejos, trucos o consejos. ¡Gracias!

+1

Gracias @blueberryfields y @raidfive. He aprendido que si la respuesta aún no está en SO, no hay respuesta. :-) Por eso pregunté. Mi "solución" será un UITabBarController regular con 4 controladores de visualización, el último es mi propio controlador de vista "Más" que implementa una vista de tabla. Es sorprendente que no haya un atributo UITabBarController para establecer las pestañas máximas visibles. Oh bien. ¡Gracias! –

Respuesta

3

Solo quería terminar esto. Al final, implementé mi propio controlador "Más" y proporcioné el UITabBarController con solo 4 controladores de visualización, siendo el último mi controlador More.

El controlador Más personalizado es poco más que una subclase UITableViewController genérica que creo cuando creo las pestañas principales y los controladores asociados de UITabBarController. Luego agrego los títulos de las filas y los correspondientes UIViewControllers a una matriz en el controlador More view. Cuando esa pestaña está visible y se toca una fila, simplemente presiono el controlador de vista apropiado.

El efecto completo parece completamente "estándar", excepto que tengo 4 pestañas en lugar de 5. También fue menos complicado de lo que pensé que sería implementarlo. Siempre un extra.

Espero que esto ayude a alguien en el futuro.

+0

Hola, estoy enfrentando el mismo problema. ¿Puede describir un poco más cómo manejar la navegación desde otra barra de pestañas a más pestañas con diferentes pestañas (es decir, de 1 en la pestaña a la 5ta pestaña y luego de la 1 a la 6)? –

3

Esto no parece ser posible con el UITabBarController estándar. Tampoco creo que nadie más se haya topado con este problema y ya lo haya resuelto por usted.

2

O bien va a tener que subclase UITabBarController, que podría ser un poco desordenado, o simplemente escriba su propio control de barra de pestañas como usted mencionó. Realmente no hay otra forma de evitarlo como @blueberryfields mencionó. Las barras de pestañas personalizadas parecen ser bastante comunes cuando se trata de este problema, y ​​sugiero seguir esa ruta si realmente está configurado con solo mostrar 3 pestañas a la vez.

Cuestiones relacionadas