UINavigationItem的文档 titleView
属性 说:“如果,则忽略此属性 leftBarButtonItem
不是零。“
但是,我已经设置了两个 titleView
和 leftBarButtonItem
我的测试中的属性,它们似乎都显示正常。我已经在我的Xcode中测试了所有模拟器:4.3,5.0和5.1。有没有人知道文档是错误的,还是在某些我无法测试的旧版本(例如4.2,3.x)上是否正确?
UINavigationItem的文档 titleView
属性 说:“如果,则忽略此属性 leftBarButtonItem
不是零。“
但是,我已经设置了两个 titleView
和 leftBarButtonItem
我的测试中的属性,它们似乎都显示正常。我已经在我的Xcode中测试了所有模拟器:4.3,5.0和5.1。有没有人知道文档是错误的,还是在某些我无法测试的旧版本(例如4.2,3.x)上是否正确?
检查文档的属性 leftBarButtonItems, 它说:
如果没有足够的空间来显示阵列中的所有项目, 那些会 重叠标题视图(如果存在) 或按钮 栏的右侧不显示。
那么,说的是什么 titleView
可能不对。
我认为文档是错误的,你应该提交一份错误报告。
我在iOS6.1和iOS7上测试了这个。我的UINavigationItem有一个非零的titleView和leftBarButtonItem,并且titleView和leftBarButtonItem都是可见的。我提交了一个雷达。
我也遇到过这种情况。在我的具体问题中,将出现titleview和leftbar项目。但是,如果我有一个后退按钮,那么我的标题视图将在Push上消失并使用默认标题。如果我为左侧设置了自定义uibuttonitem,它可以正常工作。所以它似乎与后退按钮有关。我最终通过设置标题属性而没有进行自定义视图来解决问题。
我刚碰到这个,发现你做了同样的事情。我还注意到UINavigationItem的文档最后一次更新是在2011年,而UINavigationBar在iOS 5和6中都有更新,因此自上次更新UINavigationItem文档以来,这种行为可能会发生变化。
虽然很混乱。
在UINavigationController的参考中也注意到了这一点:
“导航控制器更新导航栏的中间位置,如下所示:
...
如果新的顶级视图控制器具有自定义标题视图,则导航栏将显示该视图以代替默认标题视图。要指定自定义标题视图,请设置视图控制器导航项的titleView属性。“
因为只要你处于非根视图时就有一个leftBarByButton(后退按钮)定义,所以在UINavigationItem的文档中看起来确实是错误的