ios - Swift - 导航按钮显示和隐藏

标签 ios swift

遇到一个非常奇怪的问题,但找不到解决方法。我有一个基于标签栏 Controller 的应用程序,带有 3 个 View Controller (2 个 TableView Controller 和一个常规 vc),它们是个人资料、订单、人员。当我登录时,我会进入个人资料,并且导航栏中的按钮会正确显示。当我转到“人员”并返回时,按钮就会消失并且不再显示。反之亦然(从人员到个人资料)。

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

结构如下:

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

除 Orders TableView Controller 之外的所有 TableView Controller 都没有上述任何代码。到底是怎么回事?如果需要的话,我很乐意提供更多信息,但据我所知,这就是全部内容了。

最佳答案

你可以试试这个:

1.显示:

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

2.隐藏:

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

关于ios - Swift - 导航按钮显示和隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35259151/

相关文章:

swift - UIView 的动画颜色

ios - 如何使用静态函数通过完成处理程序调用 UIImageWriteToSavedPhotosAlbum()?

Java iOS MDM : APNs Certificate UID changes

ios - UITableView 在 IOS 7 中可见,但在 IOS 6 中不可见

ios - 是否有 ios 应用程序开发年龄分级官方定义页面?

ios - 调用导航堆栈中的协议(protocol)方法

ios - swift - 游戏倒数计时器几乎可以工作

ios - CALayer 未在 View 中正确定位

ios - 基础:为什么 Int64.max 和 Double(Int64.max) 在 Swift iOS SDK 中打印 2 个完全不同的值

ios - 无法将变量从 View 传递到另一个 View