privada por navegacion inicio home flotante desactivar control como boton assistive ios objective-c xcode ios11 xcode9-beta

ios - navegacion - control por boton iphone



El título de la barra de navegación y los botones de navegación no aparecen en iOS 11 (11)

¿Configuró "window, rootViewController = ..." en su código? Intenta eliminarlo puede solucionar tu problema

Antes de iOS 11, los botones y el título de UINavigationBar se muestran correctamente.

Ayer descargué Xcode 9 con iOS 11 y, después de compilar y ejecutar sin hacer cambios, ya no se muestran los botones de navegación ni el título. Muestra la UINavigationBar con el color correcto que estoy configurando, pero nada más.

Probé diferentes simuladores y también actualicé un iPhone 7 a iOS 11 beta 5 y el resultado es el mismo. No se muestra nada.

¿Alguien ha enfrentado el mismo problema? He intentado cambiar diferentes partes del código y el guión gráfico, pero nada afecta ...

EDITAR con capturas de pantalla: http://imgur.com/a/Hy46c

¡Gracias por adelantado!


Basado en el comentario de Justin Vallely, he revisado un poco el código para garantizar el tamaño correcto de la vista:

class NavigationBarTitleView: UIView { private var width: CGFloat = 0.0 private var height: CGFloat = 0.0 override init(frame: CGRect) { super.init(frame: frame) width = frame.width height = frame.height } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override var intrinsicContentSize: CGSize { return CGSize(width: width, height: height) } }

En mi caso particular, he usado esta vista como un contenedor para UISearchBar y ahora está bien dimensionada y funciona perfectamente con Swift 4 y iOS 11, tal como solía funcionar en versiones anteriores de iOS y Swift.


Encontré este código en un código base heredado, lo comenté y todo funcionó como lo hacía antes de iOS 11.x.

if (appDelegate.window.rootViewController != self) { appDelegate.window.rootViewController = self; }


Nos enfrentamos al mismo problema donde está el color de la barra de navegación, pero el título y los botones no se muestran. Hemos comprobado dos veces que la barra estaba allí activando un cambio de color de fondo de la barra de navegación 2 segundos después de que el controlador de navegación apareciera en la pantalla, así que sabemos que la barra de navegación estaba allí y agregábamos botones a la instancia correcta. Al igual que el OP, este problema solo aparece en iOS 11 y no en iOS 10, y estamos usando Swift 3.2 con Xcode 9.1.

Después de horas de juguetear, resulta que presentar un controlador de navegación y luego hacerlo como UIApplication.shared.delegate.window.rootViewController (después de la presente animación) causó el problema en nuestro caso.

Si simplemente omite el controlador de la vista actual y hace que el controlador de navegación sea el controlador de la vista raíz, entonces todo funciona bien. Por supuesto, se pierde la presente animación en el caso.


Para Xcode 9, parece que ya no es suficiente simplemente establecer el marco de una vista personalizada que se está inyectando en el título de navegaciónViewView. El tamaño del contenido intrínseco de su título Vista ahora debe ser anulado y configurado también.

Aquí está el código, ajuste el ancho y la altura para satisfacer sus necesidades:

class NavigationBarTitleView: UIView { override var intrinsicContentSize: CGSize { return CGSize(width: bounds.width - 100, height: 50) } ... }


Tenía el mismo problema con el botón de navegación no se muestra. Lo resolví configurando el renderingMode en .alwaysOriginal . (No utilicé plantillas)

Código Swift 3:

var img =R.image.smt()?.withRenderingMode(.alwaysOriginal)


Tratar de usar:

UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]

o sin la configuración del proxy de apariencia directamente en la barra de navegación actual ... Resuelve mi problema, ¿debería Apple cambiar el título de texto para que se borre de manera predeterminada en iOS11 ...?

También usa esto si quieres el mismo aspecto que iOS 10:

if #available(iOS 11, *) { nav.navigationBar.prefersLargeTitles = false }


Tuve el mismo problema en mi proyecto en el que faltaban los títulos de las barras de navegación después de actualizar a Xcode 9 y iOS 11. Lo resolví yendo a la barra de navegación de mi controlador de navegación en el guión gráfico, manteniendo los Prefers Large Titles sin marcar y cambiando la fuente del título en los atributos del texto del título, que se estableció de manera predeterminada en Xcode 9 al sistema 0 a alguna otra opción como Título 1 o Encabezado. También cambié la configuración de la barra de navegación de los controladores de vista de los niños Para títulos grandes a Nunca en lugar de Automático o Siempre


Tuve el mismo problema y para mí fue causado por la subclasificación de UITabBarController


Tuve ese mismo problema y ninguno de los anteriores solucionado. Aunque, @Justin Vallely me llevo a arreglarlo.

¡Todo lo que hice fue establecer un width en el titleView y todo funcionó bien!

EDITAR:

Cada UIViewController tiene una propiedad navigationItem , y cada navigationItem tiene una titleView título opcional.

Para referencia: https://developer.apple.com/documentation/uikit/uinavigationitem/1624935-titleview

En mi caso, estaba usando una vista de titleView personalizada y creo que esa es la causa del problema, ya que Apple cambió la API para admitir el nuevo diseño de la barra de navegación.


utilizar sizeToFit ()! ios 11 lo dimensiona automáticamente, pero ios 10 no lo hace