분류 전체보기 333

ios swift 화면 전환 과정에서의 값 전달 방식(동기, 비동기)

뷰 컨트롤러 사이에 값을 주고 받는 방식 2가지 1) 동기방식 - 뷰 컨트롤러에서 다음 뷰 컨트롤러로 값을 직접 전달하는 방식 주로 영속적으로 값을 저장할 필요가 없는 화면 전환에 사용된다. ex) 목록 형태의 정보를 표현하는 테이블 셀 -> 클릭하면 상세페이지로 넘어가 세부 데이터를 보여줌. 2) 비동기방식 - 공통저장소를 만들어 뷰 컨트롤러에서 여기에 값을 저장하고 -> 화면을 이동하면 -> 다음 뷰 컨트롤러에서 이 저장소를 열어 다시 값을 꺼내오는 공유 방식. (화면 전환과 값의 전달이 따로 이루어진다.) 주로 지속적으로 값을 저장할 필요가 있는 화면 전환에 사용됨. ex) 로그인 정보 처리 로그인 성공했을 때 저장소에 해당 로그인 정보를 등록해놓고 화면을 전환. 뷰 컨트롤러를 이동할 때마다 로그인..

ios swift 전처리메소드 (Pre-process method)

전처리메소드 (Pre-process method) :세그웨이를 실행하기 전에 값을 저장해둘 필요가 있거나 , 혹은 경고창을 띄워주는 등의 처리를 해야 할 경우 전처리 메소드에 해당 내용을 작성해 놓으면 그 내용이 세그웨이가 실행되기 전에 자동으로 실행된다. prepare(for segue: UIStoryboardSegue, sender: Any?){ ... } 주의점: 호출 주체 = 내가 아님. 내가 구현해 놓으면 시스템이 호출하는 방식(필요한 시점에) 즉, 내가 호출하고 싶을 때 임의로 호출 못함. ->두 개의 매개변수 1) 메소드를 호출한 세그웨이 객체 2) 세그웨이를 실행하는 트리거에 대한 정보 사용자가 세그웨이에 연결된 버튼을 터치했을 경우, 혹은 다른 방법으로 세그웨이를 실행할 경우 세그웨이가 ..

ios swift 세그웨이 segue / 화면 복귀- unwind

액션 세그웨이: 트리거와 세그웨이가 직접 연결된 것 버튼 등이 출발점인 경우. 트리거 - 터치 또는 클릭 이벤트를 발생시켜 세그웨이를 실행할 수 있는 요소 해당 이벤트만 발생하면 자동으로 실행됨. 트리거의 터치에 의해 실행되므로 별도의 처리 코드가 전혀 필요 없다. p230 매뉴얼 세그웨이 : 뷰 컨트롤러와 뷰 컨트롤러 사이에 연결되는 수동 실행 세그웨이 트리거 없이 수동으로 실행해야 하므로, 소스코드에서 세그웨이를 실행할 메소드를 호출해야 함. 매뉴얼 세그웨이를 실행하기 위한 메소드는 다음과 같다. performSegue(withIdentifier: , sender: ) 두 개의 인자값은 세그웨이가 여러 개일 경우를 대비한 세그웨이 식별자와 세그웨이를 실행하는 객체 정보. p236 Unwind - 화면..

Navigation controller 관련

라이브러리를 통해 네비게이션 컨트롤러를 추가하면 루트 뷰 컨트롤러도 함께 추가된다 (1+1 행사마냥) Embed In 활용해서 Navigation controller 넣는 방법 Editor -> Embed In -> Navigation controller 네비게이션 컨트롤러는 각 뷰 컨트롤러마다 내장된 내비게이션 바에 이전화면으로 되돌아갈 수 있는 버튼을 자동으로 만들어준다. present(_:animated:)메소드를 이용해서 화면을 전환할 때 처럼 뒤로가기 버튼을 직접 만들어 줄 필요가 없다. * self.navigationController 객체에 pushViewController(_:animated:) 메소드를 호출하는 경우 -> 내비게이션 스택에서 뷰 컨트롤러를 제거하려면 popViewContr..

BRANDI UI 클론

과제. iPhone 11 제작 화면 비율 view.width = superview.width * 0.5(Mulit) 하드코딩 UI constraints (NSLayout) 발생한 이슈 및 해결 현황 맨 위에 브랜디로고, 돋보기 및 장바구니 아이콘의 배치→ 고정값으로 할 경우 크기가 다른 기기들로 실행시키면 빈 곳이 생기거나 할 듯. → 일단 width, height 고정값을 주어서 해결했는데, aspect ratio 또는 비율로 배치 하는 방법? (예를 들어 3:1:1) 큰 이미지 배너의 경우 width(가로 값을) 414로 설정해놨는데, 이걸 없애는 순간 전체 화면의 가로값이 거의 절반으로 줄어든다. 이걸 superview 가로 값에 맞추는 방법이 있을지? 오늘의 인기상품 문구를 위에 20정도 띄어쓰기..