我有一些代码允许我自定义视图的导航栏标题以允许缩小/截断长标题。代码几乎无处不在,但是当它在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
答案 0 :(得分:0)
我刚刚完成了你的项目。问题是在你的故事板中,你没有将tableViewController连接到FirstViewController。所以viewDidLoad了 永远不会调用FirstViewController。 当我在Tableboard中将TableViewController的自定义类设置为FirstViewController时,它将标签设置为title,如预期的那样