我有一个带有4个视图的Tab Bar应用程序。其中一个视图(Notes)是嵌入在UINavigationController中的UITableView(因为" note" UIViewController可以显示和编辑单元格细节)
我已经在布局编辑器中构建了所有这些,以避免对segue和控制器的假设。我已将Title和Image属性添加到相关的UIViewControllers(在UITableView的情况下是UINavigationController。)
" Notes"的图像和标题;选项卡在布局编辑器中正确显示,其他3个选项卡在应用程序运行时显示正常,但当应用程序运行时,注释选项卡的标题将替换为字符串" item"。奇怪的是图像显示正常。如果我直接使用UITableViewController它可以工作 - 但我当然需要一个NavigationController用于我的TableView - 所以没有帮助。
以下是相关的XIB代码:
<!--Notes Navigation-->
<scene sceneID="gSO-qG-y5n">
<objects>
<navigationController id="Q9R-oO-LQa" userLabel="Notes Navigation" sceneMemberID="viewController">
<tabBarItem key="tabBarItem" tag="1" title="Notes" image="Note" id="gFR-SE-gGB" userLabel="Notes"/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="oNo-5Q-VaO">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="SCr-y6-ymj" kind="relationship" relationship="rootViewController" id="vnz-pl-Fkb"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Bvb-jZ-wUu" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-523" y="2538"/>
</scene>
这是标题=&#34; Notes&#34; tabBarItem属性没有被尊重。图像=&#34;注意&#34;很荣幸。由于这个XIB代码看起来很完美,所以布局被破坏可能会出现问题 - 所以我很难过。
正如我所说 - 一切运作完美 - 只是这个标题显示为&#34; item&#34;这就是问题所在。
与此同时,我想我必须在代码中设置标题。 这是在Swift中使用XCode 6.3开发的。
将这个放在我的应用中的适当位置会在哪里?
答案 0 :(得分:0)
我认为TabBarItem正在获取导航控制器的默认标题,当您在故事板中添加一个时,该标题显示为“item”。我只是尝试使用新的标签栏添加UINavigationController作为项目。
要将标题设置为您想要的内容,请单击故事板中的UINavigationController,并将属性检查器中的“标题”字段设置为所需的标题。然后,标签栏将在您运行时使用此标题。
这与导航栏上的标题导航项目标题不同。
请参阅:self.title sets navigationController and tabBarItem's title? Why?
答案 1 :(得分:0)
这似乎是一个影响模拟器或模拟器上运行的iOS版本的错误。
如果我在iPhone 6模拟器上运行,我会遇到不良行为。 如果我使用iOS 8.3的实际iPhone 6运行,一切都按预期工作。
我设置它的正确位置最终是我开始的地方 - 位于导航控制器的标签栏项目中。
欢呼并感谢所有其他建议。