5

Używam nawigacji z niestandardową podklasą UIView, która staje się moim titleView. Chcę się upewnić, że jest to pełna dostępna szerokość.Jak obliczyć optymalną szerokość tytułu?

logicznie z moich UIViewController „s viewWillAppear:, powinno to być:

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

(nie mam na właściwą pozycję tutaj).

Byłoby to dostosowanie, a następnie, dla różnych możliwych szerokościach leftBarButtonItem. Połów jest taki, że leftBarButtonItem to nil, więc leftBarButtonItem.width jest zawsze 0 (w każdym razie w symulatorze).

backBarButtonItem jest również zerowy.

Co powinienem zamiast tego robić?

+0

mam dokładnie ten problem jak dobrze :( – Sam

Odpowiedz

4

I hacked to w następujący sposób:

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 ale działa

Powiązane problemy