Domanda

sto usando di navigazione con una sottoclasse UIView personalizzato che diventa il mio titleView. Voglio assicurare che questo è l'intera larghezza disponibile.

A rigor di logica dal UIViewController di mio viewWillAppear:, questo dovrebbe essere:

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

(non ho una voce proprio qui.)

Ciò adattare, quindi, per le diverse possibili larghezze del leftBarButtonItem. Il problema è che è leftBarButtonItem nil, così leftBarButtonItem.width è sempre 0 (beh, nel simulatore in ogni caso).

backBarButtonItem è anche pari a zero.

Cosa dovrei fare, invece?

È stato utile?

Soluzione

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top