Swift - 导航按钮显示&隐藏

时间:2016-02-07 21:11:08

标签: ios swift

遇到一个非常奇怪的问题,无法找到解决方法。我有基于标签栏控制器的应用程序,有3个视图控制器(2个表视图控制器和一个常规vc),它们是Profile,Orders,People。登录时,我登陆配置文件,导航栏中的按钮显示正常。一旦我去人们回来,按钮就消失了,不再显示了。反之亦然(从人到配置文件)。

这是另外一个奇怪的部分:如果我从配置文件转到订单,然后返回,它将显示所有按钮。此外,如果我从个人资料到订单,人们通常会显示。

这是结构:

enter image description here

在所有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

除订单表视图控制器以外的所有代码都没有上述任何代码。到底是怎么回事?如果需要,我会很乐意提供更多,但据我所知,这就是它的全部内容。

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

1.Show:

self.navigationItem.rightBarButtonItem?.customView?.alpha = 1.0

2.hide:

self.navigationItem.rightBarButtonItem?.customView?.alpha = 0.0