티스토리 뷰

스위프트/UIKit

[UIKit] - NavigationBar에 Item 넣기

강철곰탱이 2024. 2. 10. 01:14

 

Navigation Bar에 leftItem과 rightItem을 넣는 걸 예제를 통해 이해해보자.

📢 StoryBoard를 사용하지 않고 코드로 구현!!

 

1️⃣ VC 만들기

 

먼저 ViewController 파일을 만들어준다.

 

class RecordVC: UIViewController{

    override func viewDidLoad() {
        super.viewDidLoad()       
        initView()
    }
    
    func initView(){
        view.backgroundColor = .white  
    }
}

 

 

2️⃣ leftItem 설정

 

Label을 넣어주고 "기록"이라는 text 값을 줬다.

그 다음 UIBarButtonItem에 item을 넣어주면 되는데 이게 뭘까?

 

: navigation bar,  shortcuts bar, toolbar에 배치하기 위한 버튼이라고 한다.

 

정의를 찾아보면 사용자가 정의한 뷰를 포함하는 initializer라고 한다.

custonView를 사용하여 임의의 viewnavigation bar에 추가할 수 있다.

 

func setupNavigationBar() {
    let leftLabel = UILabel()
    leftLabel.text = "기록"
    leftLabel.font = .boldSystemFont(ofSize: 18)
    leftLabel.textColor = .black

    let leftItem = UIBarButtonItem(customView: leftLabel)
    navigationItem.leftBarButtonItem = leftItem
}

 

"기록" item이 잘 나오는 걸 확인할 수 있다.

 

 

3️⃣ rightItem 설정

 

rightItem은 버튼으로 넣어주기 위해 다음과 같은 매개변수를 택했다.

 

 

 

rightItem으로 두 개의 버튼을 넣으려고 하면 rightBarButtonItems를 사용하고 하나의 버튼만 넣으려면 rightBarButtonItem를 사용하면 된다.

 

난 두개의 버튼을 넣으려고 하니 rightBarButtonItems를 사용하였다.

 

func setupNavigationBar() {
    let leftLabel = UILabel()
    leftLabel.text = "기록"
    leftLabel.font = .boldSystemFont(ofSize: 18)
    leftLabel.textColor = .black

    let leftItem = UIBarButtonItem(customView: leftLabel)
    navigationItem.leftBarButtonItem = leftItem

    let folderButton = UIBarButtonItem(image: UIImage(named: "folder_add"), style: .plain, target: self, action: #selector(didTapfolederAddButton))
    let recordButton = UIBarButtonItem(image: UIImage(named: "record_add"), style: .plain, target: self, action: #selector(didTapRecordAddButton))
    folderButton.tintColor = .black
    recordButton.tintColor = .black
    navigationItem.rightBarButtonItems = [folderButton, recordButton]
}
@objc func didTapfolederAddButton(){

}

@objc func didTapRecordAddButton(){

}

 

  • imge: 버튼에 표시할 이미지
  • style: 버튼의 스타일 지정 (.plain은 평범한 스타일)
  • target: 해당 버튼 눌렸을 때 이벤트 받을 대상
  • action: 해당 버튼이 눌렸을 때 호출할 메서드

 

두 버튼 item이 잘 나오는 걸 확인할 수 있다.

 

 

 

Navigation Bar에 Item 넣기 참 간단하다~~~~

'스위프트 > UIKit' 카테고리의 다른 글

[UIKit] - UIMenu 적용 예제  (0) 2024.02.10
[Swift] - preview 보는 법  (0) 2023.12.10
[UIKit] - 카카오 로그인  (0) 2023.12.02
[UIKit] Collection View 검색 기능  (0) 2023.11.06
[UIKit] storyboard없이 Navigation controller  (0) 2023.11.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함