Как рассчитать оптимальную ширину titleView?

Я использую навигацию с пользовательским подклассом UIView, который становится моим titleView. Я хочу убедиться, что это полная доступная ширина.

Логически из моего UIViewController viewWillAppear: это должно быть:

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

(У меня нет подходящего пункта здесь.)

Таким образом, это адаптировалось бы к различной возможной ширине leftBarButtonItem. Загвоздка в том, что leftBarButtonItem равно nil, поэтому leftBarButtonItem.width всегда равно 0 (ну, во всяком случае, в симуляторе).

backBarButtonItem также равно нулю.

Что я должен делать вместо этого?


person Steven Fisher    schedule 06.08.2009    source источник
comment
У меня тоже точно такая проблема :(   -  person Sam    schedule 24.09.2009


Ответы (1)


Я взломал это, выполнив следующие действия:

    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;

противно но работает

person Sam    schedule 24.09.2009