ios - 栏按钮项目从导航 Controller 中消失

标签 ios iphone swift uinavigationcontroller uibarbuttonitem

我正在开发的应用程序有一个奇怪的问题。栏按钮项目全部随机消失。

我有一个带有一个按钮(如图所示)的导航 Controller ,可通过推送转场将用户带到菜单 TableView Controller 。

菜单 TableView Controller 有 3 行,即菜单选项。

每个菜单选项都通过推送序列将用户带到另一个 View Controller 。每个 View Controller 都有一个使用默认按钮显示的后退按钮。

这都是一个非常简单直接的设置,无需任何代码。

我注意到很多时候所有的栏按钮项目都消失了。没有后退按钮,没有菜单按钮等。尽管我仍然可以点击该区域并且按钮仍然可以工作 - 只是不可见。

我没有通过隐藏按钮的代码执行任何操作。

我多次注意到,如果我将应用程序留在前台并且手机进入休眠状态,那么当我回来时按钮就会消失。但并不总是如此。

但这并不是按钮消失的唯一一次。我实际上在使用菜单系统时看到它们消失了。但再一次,我看不到导致此问题的代码。

我目前使用的是 iOS9,但 iOS8 也是如此。

知道可能是什么问题吗?

最佳答案

哎呀......事实证明我应该为消失的栏按钮项目负责。

我正在加载 SKStoreProductViewController(呈现 App Store View Controller ),并且我想让颜色与我的应用程序相匹配,因此在网络上搜索后我找到了解决方案:

UINavigationBar.appearance().tintColor = myColor

它成功了。

但这并没有影响我的应用程序栏按钮项目。直到我调用 MFMailComposeViewController(撰写电子邮件)时,问题才出现。

关闭 MFMailComposeViewController 时,我的应用程序栏按钮项目消失了。

好吧,它们并没有消失,它们变成了与导航栏相同的颜色,它们仍然在那里,只是看不到它们。

解决方案是像这样设置 SKStoreProductViewController 的色调颜色:

    myStoreProductViewController.view.tintColor = myColor

关于ios - 栏按钮项目从导航 Controller 中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32688456/

相关文章:

ios - 使用 NSPrivateQueueConcurrencyType 的具体/完整示例?

ios - Swift/SceneKit - 为游戏创建菜单/关卡选择场景的最佳实践

iphone - %new & %class 的目的是什么?

iphone - iOS 崩溃报告没有得到正确的行号

ios - 使用目标选择器进行快速访问控制

ios - Sprite Kit和IOS开发

ios - 关闭模态视图 Controller 偶尔会卡住应用程序,swift 3

iphone - Objective-C 指针 > 指向属性

iphone - NSURLRequest:如何将 httpMethod "GET"更改为 "POST"

ios - Collection View 根据其位置删除项目