¿Cómo se calcula el ancho titleview óptima?
Pregunta
Estoy utilizando la navegación con una subclase UIView
a medida que se convierte en mi titleview. Quiero asegurar que este es el ancho completo.
lógicamente de UIViewController
de mi viewWillAppear:
, esto debería ser:
CGFloat width = self.width - self.navigationItem.leftBarButtonItem.width - someConstant;
(no tengo un tema aquí.)
Esto sería adaptar, a continuación, para diferentes anchuras posibles de la leftBarButtonItem
. El problema es que es leftBarButtonItem
nil
, por lo leftBarButtonItem.width
es siempre 0 (bueno, en el simulador de todos modos).
backBarButtonItem
también es nula.
¿Qué debo hacer en su lugar?
Solución
Me corté esta haciendo lo siguiente:
int vcStackSize = [[self.navigationController viewControllers] count];
WEViewController* previousController = [[self.navigationController viewControllers] objectAtIndex:vcStackSize - 2];
NSString* previousTitle = [previousController title];
UIFont* font = [UIFont boldSystemFontOfSize:12];
lw = [previousTitle sizeWithFont:font].width + 26;
desagradable pero funciona
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow