5

ナビゲーション バーに 1 つではなく 2 つの UILabels を配置しようとしています。

このリンクをたどって、その方法に関する情報を入手しました: ナビゲーションバーのiPhoneのタイトルとサブタイトル

うまく機能しますが、テキストを適切に中央に配置できません。ボタン間の中央に配置されますが、デフォルトのタイトルの動作では、時間のすぐ下に中央に配置されます。

ここに画像の説明を入力

私はここを見ました、同じ質問ですが、答えはありません: 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;
4

2 に答える 2

1

UINavigationItem クラスのこのプロパティが好きかもしれません。

@property (nonatmic,copy) NSString *prompt

エレガントです。

于 2014-09-15T15:25:48.430 に答える