Objective c iOS 6 UINavigationController中的奇怪错误

Objective c iOS 6 UINavigationController中的奇怪错误,objective-c,ios6,uinavigationcontroller,uinavigationitem,titleview,Objective C,Ios6,Uinavigationcontroller,Uinavigationitem,Titleview,我在ios中发现了一个奇怪的bug。当我使用UINavigationController并推送其他控制器时,标题视图向右移动的程度取决于推送了多少个控制器 看起来是这样的: 我的代码很简单: self.navigationItem.title = @"Test Title"; 在第二种情况下,控制器在viewControllers堆栈中有第五个。所有情况下的控制器都是相同的 我在AppDelegate中使用了外观来表示UIBarButtonItem [[UIBarButtonItem app

我在ios中发现了一个奇怪的bug。当我使用UINavigationController并推送其他控制器时,标题视图向右移动的程度取决于推送了多少个控制器

看起来是这样的:

我的代码很简单:

self.navigationItem.title = @"Test Title";
在第二种情况下,控制器在
viewControllers
堆栈中有第五个。所有情况下的控制器都是相同的

我在AppDelegate中使用了
外观
来表示
UIBarButtonItem

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000, 0) forBarMetrics:UIBarMetricsDefault];

我正在用一些技巧来修复它=)


当文本足够长(但在框架中)时,它会100%发生。您如何实现(自定义?)后退按钮?是否每个嵌套视图控制器的大小都会增加?是的。这是我的错。backButton标题太长,这就是原因。但我不明白,看看我的编辑
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTitleTextAttributes:@{UITextAttributeFont: [UIFont systemFontOfSize:0.1]}
                                                                                        forState:UIControlStateNormal];