我正在开发的应用程序有一个奇怪的问题。条形按钮项目随机消失。
我有一个带有一个按钮(作为图像)的导航控制器,可以通过push segue将用户带到菜单表视图控制器。
菜单表视图控制器有3行,即菜单选项。
每个菜单选项都会通过push segue将用户带到另一个View Controller。每个视图控制器都有一个使用默认按钮显示的后退按钮。
这是一个非常简单直接的设置,没有任何代码。
我注意到很多场合所有的条形按钮项目都消失了。没有后退按钮,没有菜单按钮等。虽然我仍然可以点击该区域,按钮仍然有效 - 只是不可见。
我没有通过隐藏按钮的代码做任何事情。
我已经注意到很多次,如果我将我的应用程序留在前台并且手机进入睡眠状态,那么当我回来时,按钮就消失了。但并非总是如此。
然而,这不是按钮消失的唯一时间。我实际上看到它们在使用菜单系统时消失了。但是再一次没有我能看到的导致这种情况的代码。
我目前使用的是iOS9,但它与iOS8相同。
知道可能是什么问题吗?
答案 0 :(得分:1)
Opps ......事实证明我应该为消失的条形按钮项目负责。
我正在加载一个SKStoreProductViewController(呈现App Store视图控制器),我想让颜色与我的应用匹配,所以在网上搜索后我找到了一个解决方案:
UINavigationBar.appearance().tintColor = myColor
它有效。
但这并不会影响我的应用栏按钮项。直到我打电话给MFMailComposeViewController(编写电子邮件)才发现问题。
关闭MFMailComposeViewController时,我的应用程序Bar Button Items消失了。
嗯,他们没有消失,他们变成与导航栏相同的颜色,他们仍然在那里,只是看不到它们。
解决方案是设置SKStoreProductViewController的色调颜色,如下所示:
myStoreProductViewController.view.tintColor = myColor
答案 1 :(得分:0)
我希望这会帮助你。在你的视图didload方法中使用这段代码。
// 1
var rightAddBarButtonItem:UIBarButtonItem = UIBarButtonItem(title: "Add", style: UIBarButtonItemStyle.Plain, target: self, action: "addTapped:")
// 2
var rightSearchBarButtonItem:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Search, target: self, action: "searchTapped:")
// 3
self.navigationItem.setRightBarButtonItems([rightAddBarButtonItem,rightSearchBarButtonItem], animated: true)
答案 2 :(得分:0)