Comment puis-je calculer la largeur optimale titleview?
Question
J'utilise la navigation avec une sous-classe de UIView
personnalisée qui devient mon titleview. Je veux faire en sorte que c'est la pleine largeur disponible.
Logiquement de la UIViewController
de mon viewWillAppear:
, cela devrait être:
CGFloat width = self.width - self.navigationItem.leftBarButtonItem.width - someConstant;
(Je n'ai pas un élément ici.)
adapterait, puis, pour différentes largeurs possibles du leftBarButtonItem
. Le hic est que leftBarButtonItem
est nil
, si leftBarButtonItem.width
est toujours 0 (bien, dans le simulateur de toute façon).
backBarButtonItem
est également nulle.
Que dois-je faire à la place?
La solution
Je piraté cela en procédant comme suit:
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;
Nasty mais il fonctionne
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow