ナビゲーションバーに2つのUILabelsを1つではなく2つ持っています。ナビゲーションバーのタイトルとサブタイトルが中央に配置されています
私はそれを行う方法についての情報を持っているために、このリンクをたどっ: iPhone Title and Subtitle in Navigation Bar
それはうまく動作しますが、私は私のテキストが正しくセンタリングされるように得ることができません。 ボタンの中央に配置されていますが、デフォルトのタイトル動作はその時間の真下に位置することです。
私はここで見て、同じ質問が、回答なしだった: UINavigationBar TitleView with subtitle
私は何をしないのですか?
CGRect headerTitleSubtitleFrame = CGRectMake(0, 0, 200, 44);
UIView* _headerTitleSubtitleView = [[UILabel alloc] initWithFrame:headerTitleSubtitleFrame];
_headerTitleSubtitleView.backgroundColor = [UIColor clearColor];
_headerTitleSubtitleView.autoresizesSubviews = NO;
CGRect titleFrame = CGRectMake(0, 2, 200, 24);
UILabel *titleView = [[UILabel alloc] initWithFrame:titleFrame];
titleView.backgroundColor = [UIColor clearColor];
titleView.font = [UIFont boldSystemFontOfSize:20];
titleView.textAlignment = NSTextAlignmentCenter;
titleView.textColor = [UIColor whiteColor];
titleView.shadowColor = [UIColor darkGrayColor];
titleView.shadowOffset = CGSizeMake(0, -1);
titleView.text = @"Title";
titleView.adjustsFontSizeToFitWidth = YES;
[_headerTitleSubtitleView addSubview:titleView];
CGRect subtitleFrame = CGRectMake(0, 24, 200, 44-24);
UILabel *subtitleView = [[UILabel alloc] initWithFrame:subtitleFrame];
subtitleView.backgroundColor = [UIColor clearColor];
subtitleView.font = [UIFont boldSystemFontOfSize:13];
subtitleView.textAlignment = NSTextAlignmentCenter;
subtitleView.textColor = [UIColor whiteColor];
subtitleView.shadowColor = [UIColor darkGrayColor];
subtitleView.shadowOffset = CGSizeMake(0, -1);
subtitleView.text = @"Subtitle";
subtitleView.adjustsFontSizeToFitWidth = YES;
[_headerTitleSubtitleView addSubview:subtitleView];
self.navigationItem.titleView = _headerTitleSubtitleView;
ありがとうございます!それは今働く。しかし、私はそれを取得しません。与えられた次元がより高いとき、なぜそれが中央にないのですか? – user2700551
これはすべての異なるケースで機能していません。この戻るボタンのために働きますが、左の私の後ろボタンはより広いことができ、タイトルは右にシフトされます。 – user2700551
常にテキストはラベルの中央に配置されます。それに応じてラベル幅を調整する必要があります。テスト用のラベルにbackgroundcolorを設定すると、明確なアイデアが得られます。また、それがあなたを助けたように答えを受け入れてアップヴォートすることができれば、それは非常に感謝しています。 –