이레저레 커스텀이 항상필요한 네비게이션바... 그래서 맨날 찾기..힘들어 저장해본다
// 네비게이션 바 커스텀
private func navigationBarCustome() {
let addButton = UIButton(type: .system)
addButton.setTitle("Add", for: .normal)
addButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 18) // 기본 폰트 사이즈 설정
addButton.setTitleColor(.white, for: .normal)
// 버튼의 눌림 상태를 위한 스타일 설정
addButton.setTitleColor(.gray, for: .highlighted) // 눌렀을 때 색상 변경
addButton.sizeToFit() // 버튼 크기를 자동으로 맞춰줌
// 버튼 액션 연결
addButton.addTarget(self, action: #selector(addButtonTapped), for: .touchUpInside)
// UIBarButtonItem에 UIButton 설정
let barButtonItem = UIBarButtonItem(customView: addButton)
navigationItem.rightBarButtonItem = barButtonItem
// 커스텀 백 버튼 이미지 설정
let backButtonImage = UIImage(named: "back")?.withRenderingMode(.alwaysTemplate) // SF Symbols 화살표 아이콘
let backButton = UIBarButtonItem(image: backButtonImage, style: .plain, target: self, action: #selector(cancelButtonTapped))
backButton.tintColor = .white // 아이콘 색상 설정
self.navigationItem.leftBarButtonItem = backButton
self.navigationItem.backButtonTitle = "" // 혹은 nil로 설정해도 됨
// 네비게이션 바 배경색 설정 (선택 사항)
self.navigationController?.navigationBar.barTintColor = .black // 네비게이션 바 배경색
self.navigationController?.navigationBar.tintColor = .white // 버튼 아이콘 색상
self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
// 타이틀 텍스트 설정
let titleLabel = UILabel()
titleLabel.text = "add RM"
titleLabel.textColor = .white
titleLabel.font = UIFont.boldSystemFont(ofSize: 18)
titleLabel.sizeToFit()
// 네비게이션 바에 커스텀 타이틀 설정
self.navigationItem.titleView = titleLabel
}
이렇게하면 타이틀 폰트 사이즈 조절 가능하고
좌우측 버튼에도 기능을 넣을 수도 있다 이미지도 넣어보고 텍스트 사이즈 조절도 해보았다.
앞으로 자주 사용하자구
반응형
'코딩' 카테고리의 다른 글
swift 컬렉션 뷰 셀 텍스트 길이에 따라 유동적으로 크기 정하기 (0) | 2024.09.08 |
---|---|
swift 텍스트 필드 플레이스홀더 커스텀하기 (0) | 2024.09.08 |
swift 더보기 버튼 비활성화 시키기 (0) | 2024.09.07 |
swift 탭바 밑에 라인 만들기 (0) | 2024.09.07 |
swift email 피드백 받는 방법 알아보자 (0) | 2024.09.07 |