Ios UINavigation标题过长时与UIWebView不一致的行为

Ios UINavigation标题过长时与UIWebView不一致的行为,ios,uinavigationcontroller,Ios,Uinavigationcontroller,我经历了奇怪的飞行行为。理想的行为是当标题太长时,后退按钮文本应该是隐藏的,并且只显示图标。 有时它像我预期的那样工作,有时它没有,后退按钮文本与标题文本重叠,如下所示。 “后退”按钮是默认按钮,没有添加自定义内容。知道为什么会这样吗 更新: 这里有一些源代码 - (void)webViewDidFinishLoad:(UIWebView *)aWebView { .... self.navigationItem.title = [self getDocumentTit

我经历了奇怪的飞行行为。理想的行为是当标题太长时,后退按钮文本应该是隐藏的,并且只显示图标。

有时它像我预期的那样工作,有时它没有,后退按钮文本与标题文本重叠,如下所示。

“后退”按钮是默认按钮,没有添加自定义内容。知道为什么会这样吗

更新:

这里有一些源代码

- (void)webViewDidFinishLoad:(UIWebView *)aWebView {
   ....
        self.navigationItem.title = [self getDocumentTitle];
   ....

}

而getDocumentTitle只返回NSString。我仍然不认为这里使用了任何第三方或自定义视图标题。

根据您所说的,如果是默认的(iOS 7 bug?),那就很奇怪了。尝试添加如下自定义视图:

UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0f,0.0f,100.0f,40.0f)];
titleLabel.text = @"My title"
titleLabel.backgroundColor = [UIColor clearColor];
[titleLabel setMinimumFontSize:5];
titleLabel.adjustsFontSizeToFitWidth = YES;
[titleLabel setFont:[UIFont fontWithName:WHSTitleFont size:17.0f]];
[titleLabel setTextAlignment:NSTextAlignmentCenter];

self.navigationItem.titleView = titleLabel;

对于
标题
,它是一个自定义的
UIView
?不,它的默认标题我相信这里还有一些奇怪的事情:标题或标题视图通常被调整到右侧(偏离中心),以便在后退按钮被截断之前腾出空间。这里的情况似乎不是这样。此外,我相信titleView在默认情况下将被约束到一个区域,该区域将保留显示的Back按钮。你确定你没有使用任何第三方库或自定义视图可能会影响这一点吗?正如Jacky提到的,我怀疑这一点,但我没有看到任何第三方或自定义视图,只是将self.navigationItem.title设置为某些文本我只是用导航控制器快速测试了一个web视图,将标题设置为不同的长度都是正确的。您的-getDocumentTitle方法是否提前截断标题?似乎在标题用省略号缩短之前,“后退”按钮通常会被删除。