[TIL] 09.05

Junyoung_Hong·2023년 9월 5일
0

TIL_9월

목록 보기
4/19
post-thumbnail

1. NavigationBar에 이미지 넣기

UI 작업을 하다보면, 화면 상단 왼쪽에 앱의 로고를 위치시키는 경우가 많다. 협업을 할 경우, 위치를 고정시키기 위해 Navigation Bar에 로고를 넣기로 했다.

1-1. Navigation Bar에 들어갈 ImageView 만들기

우선 Bar에 들어갈 ImageView를 만들어주어야 한다.

let navigationLogoImageView = UIImageView()
navigationLogoImageView.translatesAutoresizingMaskIntoConstraints = false
navigationLogoImageView.image = UIImage(named: "BabTube_Logo")
navigationLogoImageView.contentMode = .scaleAspectFill
navigationLogoImageView.layer.masksToBounds = true
navigationLogoImageView.widthAnchor.constraint(equalToConstant: 95).isActive = true
navigationLogoImageView.heightAnchor.constraint(equalToConstant: 25.5).isActive = true

ImageView의 frame을 이용해서 크기를 정하는 경우가 있는데, frame은 autolayout 보다 우선순위가 낮아서 제대로 적용되지 않는다.

navigationLogoImageView.frame = CGRect(x: 0, y: 0, width: 95, height: 25.5)

1-2. Navigation Bar에 넣기

보통 다음과 같은 메서드를 주로 사용한다.

UIBarButtonItem(image: <#T##UIImage?#>, style: <#T##UIBarButtonItem.Style#>, target: <#T##Any?#>, action: <#T##Selector?#>)

그렇지만 단순히 ImageView만 넣을것이기 때문에 cutomView 매개변수를 사용한다.

navigationItem.leftBarButtonItem = UIBarButtonItem(customView: navigationLogoImageView)
profile
iOS 개발자를 향해 성장 중

0개의 댓글