UINavigationBar TitleView com legenda

Eu quero um titleView dentro do meu UINavigationBar que tem duas linhas de texto em vez de apenas uma

Minha implementação atual funciona bem quando eu tenho um botão "Voltar" e um botão "Editar" porque parece quase centrado. O problema é quando eu só tenho um dos botões. Parece realmente estranho e errado porque a visão se concentra no espaço disponível.

UINavigationBar com o botão esquerdo e direito

UINavigationBar com apenas um botão

Esta é minha implementação atual:

CGRect frame = self.navigationController.navigationBar.frame;

UIView *twoLineTitleView = [[UIView alloc] initWithFrame:CGRectMake(CGRectGetWidth(frame), 0, CGRectGetWidth(frame), CGRectGetHeight(frame))];

UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 8, CGRectGetWidth(frame), 14)];
titleLabel.backgroundColor = [UIColor clearColor];
titleLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth;
titleLabel.textAlignment = UITextAlignmentCenter;
titleLabel.text = self.title;
[twoLineTitleView addSubview:titleLabel];

UILabel *subTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 23, CGRectGetWidth(frame), 14)];
subTitleLabel.backgroundColor = [UIColor clearColor];
subTitleLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth;
subTitleLabel.textAlignment = UITextAlignmentCenter;
subTitleLabel.text = self.subTitle;
[twoLineTitleView addSubview:subTitleLabel];

self.navigationItem.titleView = twoLineTitleView;

questionAnswers(9)

yourAnswerToTheQuestion