UINavigationBar를 사용해서 NavBar를 셋팅했는데,
이건 껍데이만 가져온거라는 코멘트가 있었다.
//MARK: property
var navigationBar : UINavigationBar = {
let naviBar = UINavigationBar()
let navigationItem = UINavigationItem()
navigationItem.title = "UINavigationBar"
naviBar.items = [navigationItem]
naviBar.barTintColor = UIColor.quaternarySystemFill
return naviBar
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(navigationBar)
navigationBar.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
navigationBar.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
navigationBar.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0),
navigationBar.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0),
navigationBar.heightAnchor.constraint(equalToConstant: 60)
])
}
Navigation cotroller라는 키워드로 다시한번 찾아봤다.
storyboard를 이용한 첫세팅은 여기 블로그 글을 참고 했다.
셋팅을 마치고 나니, viewDidLoad에 title을 추가해준것 만으로도
Navigation cotroller가 배치되었다...!
override func viewDidLoad() {
super.viewDidLoad()
title = "Navigation Controller"
}
UIBarButtonItem property의 선언과 viewDidLoad에 배치를 해주면 아래와같은 좌우 버튼도 만들 수 있다.
let leftButton : UIBarButtonItem = {
let button = UIBarButtonItem(title: "취소", style: .plain, target: self, action: nil)
return button
}()
let rightButton : UIBarButtonItem = {
let button = UIBarButtonItem(title: "완료", style: .plain, target: self, action: nil)
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
title = "Navigation Controller"
self.navigationItem.leftBarButtonItem = self.leftButton
self.navigationItem.rightBarButtonItem = self.rightButton
}