UITableView控制器删除自定义NavBar TitleView

时间:2013-01-24 19:12:42

标签: ios objective-c cocoa-touch xcode4.5

我有一些代码允许我自定义视图的导航栏标题以允许缩小/截断长标题。代码几乎无处不在,但是当它在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

1 个答案:

答案 0 :(得分:0)

我刚刚完成了你的项目。问题是在你的故事板中,你没有将tableViewController连接到FirstViewController。所以viewDidLoad了 永远不会调用FirstViewController。 当我在Tableboard中将TableViewController的自定义类设置为FirstViewController时,它将标签设置为title,如预期的那样