热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Swift3.0向导航栏添加右键

如何解决《Swift3.0向导航栏添加右键》经验,为你挑选了3个好方法。

我在视图控制器的顶部添加了一个导航栏.我试图根据条件控制按钮是否可见,但是我在添加按钮时遇到问题.到目前为止,我有,

var addButton: UIBarButtOnItem= UIBarButtonItem(title: "test", style: .done, target: self, action: #selector(addTapped))

override func viewDidLoad() {
    super.viewDidLoad()

    let boool = true
    if boool {
        self.navigationItem.rightBarButtOnItem= self.addButton
    }
    else {
        self.navigationItem.rightBarButtOnItem= nil
    }
}

func addTapped(sender: AnyObject) {
    print("hjxdbsdhjbv")
}

我认为它没有正常工作,因为我已经在VC中添加了导航栏,而不是使用导航控制器并在那里使用栏.我想知道是否有办法使用此导航栏.



1> Mannopson..:

这很简单.把这行代码放到viewDidLoad:

self.navigationItem.rightBarButtOnItem= UIBarButtonItem(title: "test", style: .done, target: self, action: #selector(addTapped))


适用于Swift 4

2> 小智..:
let rightBarButtOnItem= UIBarButtonItem.init(image: UIImage(named: "EditImage"), style: .done, target: self, action: #selector(ViewController.call_Method))

self.navigationItem.rightBarButtOnItem= rightBarButtonItem



3> Kyle H..:

您说您是UINavigationBar通过情节提要添加了一个到视图控制器的,但是查看您提供的代码,IB中的导航栏没有插座连接。

为了访问self.navigationItem您的视图控制器,必须将其嵌入UINavigationController或作为层次结构的一部分。除非您需要在单个视图控制器上使用自定义导航栏,否则建议将其从Interface Builder中删除,然后确保将所讨论的视图控制器嵌入UINavigationController或从另一个控制器推送到导航堆栈中,嵌入到导航控制器中,然后您应该会看到UIBarButtonItem


将视图控制器嵌入到导航控制器中,可以使您在界面生成器中具有清晰布局的导航堆栈,并且对于该导航堆栈中的每个视图控制器,您都可以访问相同的导航栏。取而代之的是,您将一个导航栏添加到视图控制器,然后必须在将另一个导航栏添加到下一个视图控制器时分别管理每个导航栏。
推荐阅读
author-avatar
D3LJ664D5LJ81111
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有