为什么UITabBarItem的标题变为" Item"什么时候在故事板中正确设置?

时间:2015-04-22 14:05:51

标签: ios swift xcode6 uitabbarcontroller xib

我有一个带有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开发的。

将这个放在我的应用中的适当位置会在哪里?

2 个答案:

答案 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运行,一切都按预期工作。

我设置它的正确位置最终是我开始的地方 - 位于导航控制器的标签栏项目中。

欢呼并感谢所有其他建议。