遇到一个非常奇怪的问题,无法找到解决方法。我有基于标签栏控制器的应用程序,有3个视图控制器(2个表视图控制器和一个常规vc),它们是Profile,Orders,People。登录时,我登陆配置文件,导航栏中的按钮显示正常。一旦我去人们回来,按钮就消失了,不再显示了。反之亦然(从人到配置文件)。
这是另外一个奇怪的部分:如果我从配置文件转到订单,然后返回,它将显示所有按钮。此外,如果我从个人资料到订单,人们通常会显示。
这是结构:
在所有viewDidLoad和viewWillAppear中,我添加以下代码:
let editButton = UIButton()
editButton.frame = CGRectMake(0, 0, 60, 35)
editButton.setTitle("Edit Profile ", forState: .Normal)
editButton.setTitleColor(UIColor.blueColor(), forState: .Normal)
editButton.addTarget(self, action: Selector("editButtonPressed"), forControlEvents: .TouchUpInside)
let leftBarButton = UIBarButtonItem()
leftBarButton.customView = editButton
self.tabBarController?.navigationItem.leftBarButtonItem = leftBarButton
并在viewWillDisappear中添加:
self.tabBarController?.navigationItem.leftBarButtonItem = nil
self.tabBarController?.navigationItem.rightBarButtonItem = nil
除订单表视图控制器以外的所有代码都没有上述任何代码。到底是怎么回事?如果需要,我会很乐意提供更多,但据我所知,这就是它的全部内容。
答案 0 :(得分:0)
你可以试试这个:
1.Show:
self.navigationItem.rightBarButtonItem?.customView?.alpha = 1.0
2.hide:
self.navigationItem.rightBarButtonItem?.customView?.alpha = 0.0