我有一个带有tableview和详细视图控制器的主视图控制器,用于显示有关所选项目的详细信息。我有一个导航栏,当用户切换到详细信息屏幕时插入后退按钮。在这个详细信息屏幕上,我有一个容器视图,可以在屏幕的下半部分显示其他视图控制器。当用户调出子视图时,我想用我的自定义按钮替换标准后退按钮,该按钮只是重新调整子视图,而不是返回到主视图控制器。子视图消失后,后退按钮应恢复为后退按钮,按下后将返回主视图控制器。
我的问题是我无法使后退按钮看起来一样,所以用户不知道我正在使用不同的按钮来实现这些不同的东西。做这个的最好方式是什么?我无法让文字匹配,图像是更好的方法吗?
目前在主视图控制器的prepareForSegue
中:
// setting nav button text to "<" which is default when no text
let backItem = UIBarButtonItem()
backItem.title = ""
navigationController?.navigationBar.tintColor = UIColor.whiteColor()
navigationItem.backBarButtonItem = backItem
目前详细视图控制器:
func createCustomBackButton() {
self.navigationItem.hidesBackButton = true
let customFont = UIFont(name: "HelveticaNeue", size: 30.0)!
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: customFont], forState: UIControlState.Normal)
customBackButton = UIBarButtonItem(title: "<", style: .Plain, target: self, action: "back:")
self.navigationItem.leftBarButtonItem = customBackButton
}
非常感谢任何帮助,在此先感谢!!
答案 0 :(得分:1)
所以简短的回答是你必须创建自己的后退按钮
self.navigationItem.hidesBackButton = true;
self.navigationItem.leftBarButtonItem = //your custom bar button item
或者你可以在没有头顶的情况下捎带默认的iOS按钮
将后面的标题设置为&#34;&#34; 并设置后方指示图像
self.backIndicatorImage = backButtonIcon.image
self.backIndicatorTransitionMaskImage = backButtonIcon.image