swift-UINavigationController、UINavigationBar导航栏

 

定一个vc如果是UINavigationController,那可以使用pushViewController进行页面跳转,如果UINavigationBar,那当前vc使用present进行页面跳转(目前我所知道的是这样的,有不同意见,请麻烦留言)。

1、把一个vc变成具有navi,可参考一下代码进行设置:

let destination = SeconViewController()
destination.message = "传递的字符串"
        
//        创建navVC
let nav = UINavigationController(rootViewController: destination)
nav.navigationBar.backgroundColor = UIColor.cyan
self.present(nav, animated: true, completion: nil)

使用UINavigationController可以使导航栏风格保持一致。

2、自定义UINavigationBar,针对某个或者某些特殊导航条,可以使用UINavigationBar实现,具体代码如下:

//声明一个bar
var navigationBar:UINavigationBar?
//navigationBar初始化
navigationBar = UINavigationBar(frame: CGRect(x: 0, y: 20, width: self.view.frame.size.width, height: 64))
self.view .addSubview(navigationBar!)
//对navigationBar设置item和title
let navigationItem = UINavigationItem()
let leftBtn = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(onAdd))
let rightBtn = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(onRemove))
        
navigationItem.title = "第\(count)个导航栏"
navigationItem.setLeftBarButton(leftBtn, animated: true)
navigationItem.setRightBarButton(rightBtn, animated: true)
        
navigationBar?.pushItem(navigationItem, animated: true)

以上即可完成导航栏的设置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章