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?

Était-ce utile?

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
scroll top