Reorganizar el orden del controlador de barra de pestañas en StoryBoard


165

En mi aplicación para iPhone, tengo un controlador de barra de pestañas con 4 relaciones con 4 controladores de vista de tabla diferentes. ¿Hay alguna manera de reorganizar el orden de la relación en el StoryBoard gráficamente? ¡No puedo encontrar una manera de hacer esto y estoy seguro de que me falta algo!


Respuestas:


254

En 4.5, guarde el guión gráfico después de agregar un controlador, cambie a otro archivo y luego regrese al guión gráfico y el arrastre de pestañas debería funcionar nuevamente.


45
Tab arrastrando! Ok, ni siquiera sabía que podíamos arrastrar las pestañas. No es muy intuitivo ya que las pestañas no son seleccionables ...
Pierre de LESPINAY

1
Si te cansas de hurgar en la interfaz de usuario de Xcode con el interruptor de pestaña / cerrar encantamientos, solo mira la respuesta de JannieT. Es rapido y facil.
Sixto Saez

No es intuitivo, pero también funcionó para mí en Xcode 7.
zeeple

Si no ve elementos para arrastrar, podría deberse a que aún no ha configurado un icono. ¡Descubrí que no aparecía hasta que configuré los íconos!
Brian

1
agradable :) ni siquiera sabía que puede ser arrastrable
Amr Angry

132

Puede simplemente reorganizar el orden arrastrando y soltando los iconos en el controlador de la barra de pestañas


44
Si está utilizando pestañas personalizadas, puede arrastrar y soltar para reordenar aunque la Tab Bar Controllerescena muestre una barra gris, el elemento de la barra todavía está allí. Esto es especialmente discreto cuando todos los elementos de su barra son elementos personalizados.
Gerald

La forma más directa y conveniente. Funciona en Xcode 7.3.1. Swift 2.2
Mark Barrasso

Funciona en Xcode 9, aunque los íconos eran invisibles.
Cesare


15

No pude arrastrar y soltar con XCode 4.6 (con ninguna de las combinaciones mencionadas). Lo resolví abriendo el storybord en modo " Código fuente ", localizando el tabBarController y reorganizando la etiqueta de secuencia .


Tengo un controlador de barra de pestañas anidado en un controlador de vista dividida, y como resultado, las pestañas del controlador de barra de pestañas no son visibles en el guión gráfico. La edición del código fuente del guión gráfico funcionó para mí. ¡Gracias!
Scott Gardner

14

Sé que el OP está utilizando el generador de interfaz Xcode y está pidiendo una forma gráfica de hacerlo, pero para los desarrolladores que trabajan con Xamarin iOS Designer, aquí hay una solución alternativa que utilizo.

Abra el archivo .storyboard en un editor de texto o usando Xcode, haga clic derecho en el elemento del storyboard en Project Navigator y seleccione Abrir como código fuente. En el storyboard XML localice el <tabBarController ...>nodo. Luego reorganizo el orden de los segmentos en la <connections>sección:

<connections>
    <segue destination="274" kind="relationship" relationship="viewControllers" id="286"/>
    <segue id="943" destination="910" kind="relationship" relationship="viewControllers"/>
    <segue destination="147" kind="relationship" relationship="viewControllers" id="159"/>
</connections>

Busque el destination=valor del atributo en el XML para determinar a qué controlador de vista apunta el elemento segue.


1
Gran solución Tenía un gran StoryBoard y la eliminación y recreación de los segmentos habría llevado algo de tiempo
YYamil

10

Simplemente arrastre y suelte los iconos de pestaña en la barra de pestañas.

es decir, la barra de pestañas principal que pertenece al controlador de la barra de pestañas.

HTH

:: EDITAR :: Así que esto no parece funcionar ... Estoy seguro de que solía hacerlo.

De todos modos, la forma más fácil que encontré es eliminar las pestañas y agregarlas nuevamente en el orden en que desea que se muestren.

Espero que esto ayude.


LOL, solo fui a probar y me equivoqué. Lo siento. Sin embargo, he hecho esto antes. Un segundo ...
Fogmeister

Sí, creo recordar que arrastrar y soltar funcionó a pesar de que no estoy seguro de eso. Tal vez cambiaron algo en Xcode ..
BigLex

Solo lo intenté, y funcionó bien simplemente arrastrar las pestañas en Xcode 4.5
rdelmar

@rdelmar ¿Comenzó su proyecto como una aplicación de barra de pestañas o agregó un controlador de vista de barra de pestañas a una sola aplicación de vista?
BigLex

55
Arrastrar y soltar funciona, pero se vuelve terco si has hecho algo en el guión gráfico antes de intentar arrastrar y soltar las pestañas. Para solucionarlo, seleccione cualquier otro archivo en Xcode y luego regrese a su guión gráfico. Arrastrar y soltar funcionará de nuevo. No es necesario cerrar Xcode o volver a agregar sus controladores.
memmons

9

Como se señaló en los comentarios, arrastrar y soltar no funciona actualmente (Xcode 4.5) después de agregar un controlador de navegación. Sin embargo, reiniciar Xcode después de agregar el controlador parece hacer que arrastrar y soltar funcione nuevamente.


8

XCODE 10.1: Zoom en el guión gráfico. Simplemente arrastre los elementos de la pestaña. (Sin turno no hay otro)


2
¿Cómo pensaste probar esto? 😃 ¡Brillante! 👏
GarySabo

7

Si abre el guión gráfico como 'vista de código fuente' y luego lo cierra y lo abre como vista IB, parece corregir el error.


Esto funcionó para mí (Xcode 8.1), finalmente pude arrastrar para reorganizar después de abrir el guión gráfico en la vista del código fuente.
Undrea

7

Para agregar al método de arrastrar y soltar proporcionado por todos. Publiqué esto como respuesta para poder incluir imágenes. Probado en Xcode 7.3

Si está utilizando personalizado tab bar item, aún puede arrastrar y soltar para reordenar aunque la Tab Bar Controllerescena muestre una barra gris, el elemento de la barra todavía está allí. Esto es especialmente discreto cuando todos los elementos de su barra son elementos personalizados.

ingrese la descripción de la imagen aquí descripción


4

Estoy usando XCode 5.1 para el desarrollo de iOS 7.1 y descubrí que el siguiente enfoque funciona para reorganizar las pestañas en un Controlador de barra de pestañas.

Para reorganizar las pestañas en un Controlador de barra de pestañas, elimine los segmentos del Controlador de barra de pestañas a sus controladores de subvista. Luego, vuelva a dibujar los segmentos en el orden en que desea las pestañas. Para "volver a dibujar" quiero decir que controlas el arrastre desde el Controlador de barra de pestañas al controlador de subvista y seleccionas Segue de relación (en la parte inferior de la lista) => Controladores de vista.


3
cierto. Otra forma de hacerlo es editando el .storyboard como "Código fuente", encontrando los segmentos (son una etiqueta <segue>) y reorganizando su orden.
voghDev

3

¡Puede asegurarse de que la opción Dock del controlador de pestañas en su guión gráfico principal esté configurada como "Primer respondedor", eso lo resolvió para mí!


He estado probando varias de estas ideas, ya que ahora tengo este problema sin importar el proyecto que presente (nuevo o viejo). No puedo entender qué quiere decir KayKay con "la opción Dock del controlador de pestañas". ¿Alguien tiene ideas?
LaurelS

3

Tuve el mismo problema después de agregar un controlador de navegación.

Solución: cierre el guión gráfico (Ctrl + Cmd + W) y haga una carpeta de compilación limpia (Opción + Cmd + Shift + K) y una limpieza regular (Cmd + Shift + K). Vuelva a abrir el guión gráfico y podrá arrastrar los elementos nuevamente.


1

Lo mismo está en xCode 4.6. Originalmente seguía el tutorial sobre los guiones gráficos iniciales en ios. En el momento de cambiar el elemento en TabBarController, no pude cambiar el orden. Traté de guardarlo, no funcionó; Sin embargo, una vez que cerré el XCode y lo abrí nuevamente, FUNCIONÓ.


1

Control + arrastre el elemento en TabBarController en el guión gráfico y reorganícelo a la posición deseada.


Creo que es Opción + arrastrar
GGirotto

0

También estaba siguiendo el tutorial de raywenderlich para guiones gráficos y me di cuenta de que después de agregar el controlador de pestañas no podía reorganizar las pestañas arrastrándolas. Bueno, aparentemente es solo un error en xcode. Así que sal de xcode, reinícialo y esta vez podrás arrastrar las pestañas.


0

Para mí, arrastrar tampoco funcionó en XCode 7.3.1. Reiniciar XCode no ayudó. Y ninguna de las soluciones mencionadas funcionó para mí.

Lo que me ayudó: eliminé la relación con el segundo elemento y la arrastré desde ese elemento al controlador de la barra de pestañas y creé otra relación. Estaba automáticamente en segundo lugar ahora.


0

Elimine todos los controles de vista con la barra de pestañas. Primero necesita viewcontroller primero y luego otro viewcontroller se conecta con la barra de pestañas.

No se requiere reiniciar xcode y no se requiere un archivo de código fuente claro en el cambio.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.