1

ビューのナビゲーションバーのタイトルをカスタマイズして、長いタイトルの縮小/切り捨てを可能にするコードが少しあります。コードはほとんどすべての場所で正常に機能しますが、UITableViewControllerで使用すると、タイトルが表示されることはありません。

問題のコードは次のとおりです。

- (void)viewDidLoad
{
    [super viewDidLoad];

    //Nav bar title for truncating longer titles
    CGRect frame = CGRectMake(0, 0, 400, 44);
    UILabel *label = [[UILabel alloc] initWithFrame:frame];
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont boldSystemFontOfSize:20.0];
    label.textAlignment = UITextAlignmentCenter;
    label.textColor = [UIColor whiteColor];
    label.adjustsFontSizeToFitWidth = YES;
    label.minimumFontSize = 10.0f;
    label.lineBreakMode = UILineBreakModeTailTruncation;

    label.text = @"This is a really long title.  It will shrink and eventually get truncated correctly.";
    self.navigationItem.titleView = label;
}

問題を説明する小さなデモプロジェクトをまとめました。 https://sites.google.com/site/coffeestainit/files/NavTitleError.zip

4

1 に答える 1

0

私はあなたのプロジェクトを通り抜けました。問題は、ストーリーボードで、tableViewControllerをFirstViewControllerに接続していないことです。したがって、FirstViewControllerのviewDidLoadが呼び出されることはありません。ストーリーボードでTableViewControllerのカスタムクラスをFirstViewControllerに設定すると、期待どおりにラベルがタイトルとして設定されます

于 2013-01-24T20:04:58.000 に答える