본문 바로가기

Tech/iOS

[iOS] Day - 18 화면 전환 코드 구현

728x90

아쉽게도 필자는 이미 한국인이다

storyboard로 화면 전환 됐을 때는 좋았지..

코드로 구현하는 숙제가 남았을 뿐


화면 전환 (Code)

저번 게시물에서 segue를 통해 화면전환을 구현 해보았다 마우스로 단 클릭 두번에  

 

이번에는 코드로 구현해보자

1. 스토리보드를 가져오자 

-> storyboard의 이름을 가져옴

 

2. 스토리 보드 안에 뷰컨트롤러 가져옴

-> 이때 Identifier 설정이 중요한데 Identifier 설정을 해주지 않는 다면 스토리보드 안에 뷰컨틀롤러로 가져오지 못 한다 

 

2.5 를 실행하지 않아도 화면전환이 되지만 화면 전환 방식을 정해줄 수 있다

 

3. persent 설정 시 화면은 나타남 dismiss 설정 시 화면은 사라짐

 


Push

 //1.
        let storyboardFile = UIStoryboard(name: "Trend", bundle: nil)
        
        //2. 스토리보드 안에 뷰컨트롤러로 가져옴
        let viewControllerPick = storyboardFile.instantiateViewController(withIdentifier: BucketlistTableViewController.identifier) as! BucketlistTableViewController
        
        viewControllerPick.textFieldPlaceholder = "도서"
        
        //2.5 네비게이션 임베디드
        let navigationControllerPick = UINavigationController(rootViewController: viewControllerPick)
        
        //2.5 present시  화면 전환 방식 설정 (옵션)
        navigationControllerPick.modalPresentationStyle = .fullScreen
        
        //3. 어떤 방식으로 띄워줄건가
        self.present(navigationControllerPick, animated: true)

Push일 경우 네비게이션 컨트롤러가 필요하다 

네비게이션 컨트롤러가 있어야만 push 사용 가능 

네비게이션 임베디드가 되어 있지 않다면? 아무리 push를 하려해도 화면은 전환이 되지 않는다

 


NavigationBar 설정

 navigationItem.title = "영화"
        navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(systemName: "magnifyingglass.circle.fill"), style: .plain, target: self, action: #selector(searchButtonClicked))

navigationBar의 타이틀 설정도 가능하고

rightBarIButtontem , leftBarButtonItem을 만든 후 action 부분에 들어갈 메서드를 @objc 매서드로 만들어서 넣어주면 된다

 

 @objc func searchButtonClicked() {
        //1.
        let storyboardFile = UIStoryboard(name: "BookProject", bundle: nil)
        
        //2. 스토리보드 안에 뷰컨트롤러로 가져옴
        let viewControllerPick = storyboardFile.instantiateViewController(withIdentifier: "GlassesViewController") as! GlassesViewController
        
        //2.5 네비게이션 임베디드
        let navigationControllerPick = UINavigationController(rootViewController: viewControllerPick)
        
        //2.5 present시  화면 전환 방식 설정 (옵션)
        navigationControllerPick.modalPresentationStyle = .fullScreen
        
        //3. 어떤 방식으로 띄워줄건가
        self.present(navigationControllerPick, animated: true)
    }

searchButtonClicked라는 매서드를 만든 후 action 부분에 넣어주어서 클릭했을 때 화면전환이 가능하게 끔 만들었다

'Tech > iOS' 카테고리의 다른 글

[iOS] Day 19 - 데이터 전달  (0) 2022.07.22
[iOS] Day 18 - Property  (0) 2022.07.21
[iOS] Day 17 - CollectionView  (0) 2022.07.20
[iOS] Day 16 - TableView(2)  (0) 2022.07.19
[iOS] Day 16 - TableView(1)  (0) 2022.07.19