일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트 배열 할당
- 맥 아파치
- SwiftUI 기반의 iOS 프로그래밍
- 블록 스코프
- 한글입력 씹힘
- 제이펍 출판
- 비주얼스튜디오 코드
- max MySQL
- 기획자랑 사이좋게 지내고 싶다
- max apache
- 자바스크립트 class
- 한글입력 안됨
- 황반석 옮김
- python tkinter 인터페이스
- 한글입력 잘림
- 한글잘림
- 객체지향
- 핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍
- python GUI 사용하기
- 자바스크립트 객체 만들기
- 맥 mysql
- 자바스크립트
- jquery 사용하기
- 배열 분해 할당
- 생활코딩
- 제이쿼리연결
- 자바스크립트 객체
- 객체
- 닐 스미스 지음
- 한글입력 오류
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트 배열 할당
- 맥 아파치
- SwiftUI 기반의 iOS 프로그래밍
- 블록 스코프
- 한글입력 씹힘
- 제이펍 출판
- 비주얼스튜디오 코드
- max MySQL
- 기획자랑 사이좋게 지내고 싶다
- max apache
- 자바스크립트 class
- 한글입력 안됨
- 황반석 옮김
- python tkinter 인터페이스
- 한글입력 잘림
- 한글잘림
- 객체지향
- 핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍
- python GUI 사용하기
- 자바스크립트 객체 만들기
- 맥 mysql
- 자바스크립트
- jquery 사용하기
- 배열 분해 할당
- 생활코딩
- 제이쿼리연결
- 자바스크립트 객체
- 객체
- 닐 스미스 지음
- 한글입력 오류
- Today
- Total
java,javascript,android,php,sql,공부용,메모용
화면전환 개념, UINavigationController, ViewControllor / Xcode SwiftUI 앱맨들기 본문
화면전환 개념, UINavigationController, ViewControllor / Xcode SwiftUI 앱맨들기
yy_dd2 2021. 12. 1. 14:18하려고 하는 것
- LED 전광판 화면 표시
- 표시할 텍스트, 텍스트 컬러, 배경 색상을 화면에서 설정할 수 있게 하기
활용 및 알아갈 내용
- UINavigationController
- 화면 전환 개념
- ViewControllor Life Cycle
- 화면간 데이터 전달 하는 방법
- 에셋 카탈로그 (프로젝트에 리소스를 추가할 수 있는 것)
Content View Controller
- 화면을 구성하는 뷰를 직접 구현하고 관련된 이벤트를 처리하는 뷰 컨트롤러
Container View Controller
- 하나 이상의 Child View Controller 를 가지고 있다.
- 하나 이상의 Child View
UINavigationController
- 계층 구조로 구성된 content를 순차적으로 보여주는 container view controller
Navigation Stack
위로 차곡차곡 쌓아감 A/B/C -> push 쌓임
뒤로가기를 누르면 C가 사라지는 것을 POP(팝)한다고 한다
Navigation Bar
화면 상단에 항상 보여지는 바
**
화면 전환 방법
크게 나누면 2가지로 나눌 수 있다
1. 소스코드를 통해 전환하는 방식
2. Storyboard를 통해 전환하는 방식
작게는 4가지로 나눌 수 있다
4. 바꿔치기 : View Controller 의 View 위에 다른 View를 가져와 바꿔치기
1. 호출해서 바꾸기 : View Controller에서 다른 View Controller 를 호출하여 전환하기
2. Navigation Controller 를 사용하여 화면 전환하기
3. 화면 전환용 객체 세그웨이(Segueway) 를 사용하여 화면 전환하기
4번은 메모리 누수가 있어 사용하지 않는 방법이라 한다.
1. 호출해서 바꾸기 : View Controller에서 다른 View Controller 를 호출하여 전환하기
1) 현재의 뷰 컨트롤러에서 이동할 뷰 컨트롤러를 직접 호출한다 (프레젠테이션 방법이라고도 한다)
2) 기존 뷰 화면에 새로운 뷰를 덮는 방식
-선언문(Declaration)
Func present(_ viewController: UIViewController,
animated flag: Bool,
completion: ( () -> Void)? = nil )
- 매개변수(Parameters)
viewControllerToPresent
현재 뷰 컨트롤러의 컨텐츠 위에 표시할 뷰 컨트롤러
flag
프레젠테이션을 애니메이션화 하려면 true 그렇지 않으면 flase
completion
프레젠테이션이 끝난 후 실행할 블록, 이 블록에는 반환 값이 없으면 매개변수를 사용하지 않는다. 매개변수에 대해서 nil을 지정할 수 없다
-> 이전화면으로 돌아가는 메서드
-선언문(Declaration)
func dismiss(animated flag: Bool,
completion: ( ( ) -> Void )? = nil )
- 매개변수(Parameters)
flag
프레젠테이션을 애니메이션화 하려면 true 그렇지 않으면 false
completion
프레젠테이션이 끝난 후 실행할 블록, 이 블록에는 반환 값이 없으면 매개변수를 사용하지 않는다. 매개변수에 대해서 nil을 지정할 수 없다
2. Navigation Controller 를 사용하여 화면 전환하기
1) 계층적인 성격을 띄는 컨텐츠 구조를 관리하기 위한 컨트롤러
2) 직접 컨트롤러 앱에 네이게이션 정보를 표시함
3) 네비게이션 스택으로 자식 뷰 컨트롤러를 관리함
4) 선입후출관리 방식
-> 네비게이션에 화면을 추가 메서드
-선언문(Declaration)
func pushViewController(_ viewController: UIViewController,
animated: Bool )
- 매개변수(Parameters)
viewController
스택에 푸시할 뷰 컨트롤러. 이 개체는 탭 모음 컨트롤러일 수 없다. 뷰 컨트롤러가 이미 탐색 스택에 있는 경우 이 메서드는 예외를 발생시킴
animated
전환 애니메이션 사용 true 사용안함 false
-> 네이게이션에서 이전 화면으로 돌아가는 메서드
-선언문(Declaration)
func popViewController(animated: Bool) -> UIViewController?
- 매개변수(Parameters)
animated
전환 애니메이션 사용 true 사용안함 false
- 반환값 Return Value
스택에서 꺼낸 뷰 컨트롤러
3. 화면 전환용 객체 세그웨이(Segueway) 를 사용하여 화면 전환하기
1) 2개의 뷰 컨트롤러 사이에 연결된 화면 전환 객체
2) 스토리 보드를 통해 출발지와 목적지를 직접 연결함
3) 스토리보드만으로 화면을 전환할 수 있다 (코드 없이)
- Action Segueway (Trigger)
Show : 일반적인것, 화면전환 시 네이게이션 스택에 쌓이고 사용하지 않으면 사라짐
Show Detail : 아이폰과 아이패드와 사용하면 다르다 (디테일이다름)
Present Modally : 이전 뷰 컨트롤러를 덮고 새로운 화면이 나옴 프레젠테이션 화면전환과 같음
Present As Popover : 팝업창을 띄울 때 사용 (아이폰에서 사용 안함)
Custom : 원하는 방향으로 커스텀
- Manual Segueway
출발점이 뷰 컨트롤러 자체인 경우
'모바일 > SwiftUI ios 공부' 카테고리의 다른 글
ViewController 생명주기,수명주기 ViewController Life Cycle 화면전환 / Xcode SwiftUI 앱맨들기 (0) | 2021.12.01 |
---|---|
ViewController , 코드와 세그웨이 화면전환code, Segue로 화면전환 해보기 / Xcode SwiftUI 앱맨들기 (0) | 2021.12.01 |
명언생성기, 버튼 클릭시 박스안에 내용이 랜덤으로 나오게하기/ Xcode SwiftUI 공부 (0) | 2021.11.29 |
고차함수, map, filter, reduce / Xcode SwiftUI Playground 공부 (0) | 2021.11.29 |
클로저, closures / Xcode SwiftUI Playground 공부 (0) | 2021.11.29 |