5

Utilizzo la navigazione con una sottoclasse personalizzata UIView che diventa la mia titleView. Voglio assicurarmi che questa sia l'intera larghezza disponibile.Come si calcola la larghezza ottimale del titolo?

Logicamente da s' viewWillAppear: miei UIViewController, questo dovrebbe essere:

CGFloat width = self.width - self.navigationItem.leftBarButtonItem.width - someConstant; 

(non ho una voce proprio qui.)

Questo sarebbe adattare, quindi, per le diverse possibili larghezze di il leftBarButtonItem. Il problema è che leftBarButtonItem è nil, quindi leftBarButtonItem.width è sempre 0 (beh, nel simulatore comunque).

backBarButtonItem è anche nullo.

Cosa dovrei fare invece?

+0

ho questo problema esattamente così :( – Sam

risposta

4

ho inciso questo nel modo seguente:

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; 

Brutto ma funziona

Problemi correlati