프로그래밍/IOS (Swift)

[Swift] NavigationController 사용시 코드로 Navigation Item 수정하기 & Swift 기본 이미지 사용하기(System Image)

훙리 2021. 4. 1. 09:50

 

IOS 프로그램을 사용할때 Navigation Controller의 필요성은 두말하면 입 아픈 수준입니다.

 

Navigation Controller를 이용하여 화면 전환을 할때 

let pushVC = self.storyboard?.instantiateViewController(withIdentifier: "loginVC") as! LoginController

pushVC.dataReceived = self.bleManager.peripherals[indexPath.row].name

self.navigationController?.pushViewController(pushVC, animated: true)

 

네비게이션 스택에 컨트롤러를 쌓는(push) 형식으로 맨위의 화면을 바꿔 줍니다. 

 

예를들어 네비게이션 -> 탭바컨트롤러로 이동을 하고 이 탭바 컨트롤러에서는 새로운 네비게이션바를 보여주고 싶어도

기존의 네비게이션 바의 상속을 받았기 때문에 네비게이션 바 세팅을 다르게 하고 싶으면 이 상속을 끊어주던가 따로 통제를 해야합니다.

 

아무리 StoryBoard에 tab bar item 요소를 넣어도 적용이 되지 않습니다. 

 
그럴때는 직접 해당 controller에서 구현을 해주어야 합니다. 저 같은 경우 TabBarController 에 삽입하였습니다.


저는 initialize에 초기화 작업들을 넣어두는데 이것도 그 함수 안에다가 넣었습니다.

 

이것 외에도 정말 다양하게 있습니다. 활용하면 뭔가 재밌는게 나올꺼 같기도 합니다.

 

https://developer.apple.com/documentation/uikit/uinavigationitem

 

Apple Developer Documentation

 

developer.apple.com

.

.

.

.

.

Swift default image

 

그리고 스위프트5.1 이상과 Xcode11 이후에서 제공하는 기본 이미지를 사용하기 위해서는 image 타입에

UIImage(systemName: "사진이름")

를 사용하면 이용이 가능합니다. 

 

해당 페이지에서 찾으면된다고 하는데 그냥 쉽게 이미지 소스 넣는 곳에서 누르면 나옵니다.

https://developer.apple.com/design/resources/

 

Apple Design Resources

Design apps quickly by using Sketch and Photoshop templates, plug-ins, and preconfigured UI elements.

developer.apple.com

SystemImage

 


**질문
아직 스위프트 입문자라 잘 모르는게 많습니다. 네비게이션 컨트롤러에 대해서 아시는 좋은 자료있으시면 링크 부탁드리겠습니다...

많이 배우고 싶습니다.