Arrastro un botón de rectángulo redondo a la posición del elemento del botón de barra derecho y establezco una imagen en el botón de rectángulo redondo. Todo funciona bien, excepto la advertencia "Estilo simple no admitido en un elemento de navegación". Incluso si selecciono el estilo del elemento del botón de la barra en "Bordeado", la advertencia seguirá estando allí. ¿Qué pasa con Xcode 4.2? ¡Gracias por adelantado!
PD. Personalicé muchos elementos del botón de barra con el botón de rectángulo redondo, algunas veces Xcode 4.2 muestra solo una advertencia en un elemento del botón de barra, algunas veces muestra advertencias en todos los elementos del botón de barra.
Respuestas:
Pude eliminar estos errores editando manualmente los archivos del guión gráfico y encontré la entrada ofensiva style = "simple" en los
<navigationItem>
elementos del botón de barra en el elemento.Cambiaron desde:
<barButtonItem key="rightBarButtonItem" style="plain" id="juB-DL-F9i">
A:
<barButtonItem key="rightBarButtonItem" id="juB-DL-F9i">
Esto borró las advertencias ... correctas o incorrectas.
Este puede ser un truco estupendo y la mayor preocupación es que no lo causé ni eliminé los elementos del botón de la barra invisible del documento general. Esto fue después de revisar todos los elementos uno por uno y descubrir que algunas barras de navegación estaban vacías (sin hijos) y probablemente ocurrió con la gran cantidad de herencia de copiar y pegar (cmd + c | v) y no usar duplicado (cmd + d) para construir la interfaz. Aunque la causa de origen no fue la raíz, el síntoma fue que los elementos de la barra no se mostraban en la "vista de esquema" del documento para corregirlos. El comportamiento de Interface Builder me parece a veces matizado y un contenedor vacío donde debería haber algo en una vista de esquema es un olor. Bueno, lo es para mí ahora. A veces, eliminar el nodo infractor y reconstruir soluciona los problemas más extraños.
ADVERTENCIA: haga una copia de seguridad de sus guiones gráficos antes de probar esto ... el control de versiones es su amigo ... No asumo ninguna responsabilidad cuando su guión gráfico está completamente regado y no se compila. Todo lo que obtendrás es un "¡Te lo dije!" Aprendí de la manera difícil algunas veces, pero el control de fuentes diligente me ahorró un dolor de cabeza.
EDITAR: poner corchetes en bloques de código
fuente
style="plain"
del código fuente del guión gráfico. Entonces, para mí, esta sugerencia de Hunter parece legítima.En caso de que haga clic en la advertencia y no vaya al elemento de navegación infractor, haga lo siguiente. (representación visual de la respuesta de Hunter con un método más seguro de los comentarios agregados)
En el explorador de archivos, haga clic derecho en el guión gráfico y seleccione
Open As Source Code
En la página de código fuente, busque "simple" y busque el adjunto a un elemento de navegación.
Para obtener el nombre de la vista, coloque "escena" en la barra de búsqueda y haga clic en la flecha de búsqueda hacia atrás para buscar la primera instancia en esa etiqueta encima de la
navigationItem
Aquí está el nombre de su escena, ahora puede cambiar su vista de Storyboard nuevamente
Interface Builder - Storyboard
con el método de clic derecho descrito anteriormente, y luego ir a seleccionar la escena en el menú de escena y el elemento de barra dentro de ella.Vaya al inspector de atributos y cambie el estilo de
Plain
aBordered
fuente
Detuve la advertencia sobre el estilo sencillo hurgando en el esquema del documento. Eso mostraba mi elemento de navegación, y dentro de esos 2 elementos de botón de barra, y dentro de cada uno de ellos un botón. La configuración infractora estaba en el elemento del botón de barra. En su inspector de atributos cambié Estilo de Sencillo a Hecho y la advertencia desapareció. Nota: estoy usando XCode 5.
fuente
Si está utilizando un guión gráfico, haga clic en la advertencia y debería llevarlo al elemento de navegación ofensivo (tenía dos para el problema, uno me llevó allí y el otro no): cambie el estilo y limpie el proyecto.
fuente
backBarButtonItem
leftBarButtonItem
yrightBarButtonItem
sonUINavigationItem
objetos. No hay ningunastyle
propiedad, porUINavigationItem
lo que esta es la razón de la advertencia. Debería configurar los barButtons programáticamente:iOS 4:
UIButton *bt=[UIButton buttonWithType:UIButtonTypeRoundedRect]; [bt setFrame:YourFrame]; //[bt setImage:[UIImage imageNamed:@"backBT"] forState:UIControlStateNormal]; [bt addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *leftButton=[[UIBarButtonItem alloc] initWithCustomView:bt]; self.navigationItem.leftBarButtonItem=leftButton;
Para iOS 5+:
Lea la sección "Personalización de la apariencia" de la referencia de UIBarButtonItem .
fuente
En la barra de navegación, intente usar UIBarButtonItem en lugar del botón Round rect y establezca una imagen para él.
fuente
En mi caso, fue una imagen de una flecha hacia atrás, que se estableció en "Plain".
El mensaje de error aparece para hacer referencia a todos los elementos de la barra de navegación.
fuente
Una vez que esté seguro de que tiene todos los botones de la barra en el guión gráfico configurados en cualquier cosa menos simple, asegúrese de hacer una confirmación de git y eliminar los datos derivados. Pasé una eternidad tratando de averiguar por qué el problema no se estaba solucionando solo, y eliminar la carpeta de datos derivados lo solucionó por mí.
fuente