[ios] 스토리 보드에서 Modal과 Push segue의 차이점은 무엇입니까?

누군가 modalpushsegue 의 정확한 차이점이 무엇인지 설명해 줄 수 있습니까 ?

pushsegue를 사용할 때 스택에 스택이 추가되어 계속 사용할 때 push메모리를 차지 한다는 것을 알고 있습니까?

누군가이 두 가지가 어떻게 구현되는지 보여줄 수 있습니까?

Modalsegues는 단순히 ctrl-click대상으로 드래그하여 만들 수 있지만 push내 앱으로 그렇게하면 내 충돌이 발생합니다.

나는에 버튼에서 밀어하고 UINavigationController있다 UIViewController.



답변

푸시 SEGUE는 탐색 스택 다른 VC를 첨가한다. 이는 푸시를 시작하는 VC가 스택에 추가되는 VC가 속하는 동일한 탐색 컨트롤러의 일부라고 가정합니다. 내비게이션 컨트롤러 및 딥 스택에서는 메모리 관리가 문제가되지 않습니다. 하나의 VC에서 다른 VC로 전달하는 오브젝트를 처리하는 한 런타임은 탐색 스택을 처리합니다. 시각적 표시는 이미지를 참조하십시오.
NavStack

모달 SEGUE는 모달 다른 VC를 제시 한 VC입니다. VC는 내비게이션 컨트롤러의 일부일 필요는없고, 모달로 제시된 VC는 일반적으로 제시 (부모) VC의 “자식”인 것으로 간주된다. 모달 형식의 VC는 일반적으로 탐색 모음 또는 탭 모음입니다. 제시하는 VC는 또한 그것이 생성하고 제시 한 모달 VC를 해제하는 책임이있다.

도움이 되었기를 바랍니다.


답변

스위프트 3.0 및 XCode 8.2.1 업데이트

1. 푸시 세그

푸시 세그의 이름이 Show segue 로 변경되었습니다 . 푸시 세구를 만들려면 상위 뷰 컨트롤러가 탐색 컨트롤러에 포함되어 있어야합니다. 네비게이션 컨트롤러는 네비게이션 바를 제공합니다. 푸시 세그로 두 개의보기 컨트롤러를 연결하면 하위보기 컨트롤러에 자동으로 탐색 표시 줄이 맨 위에 표시됩니다. 자식 뷰 컨트롤러가 탐색 스택 위에 추가됩니다.

여기에 이미지 설명을 입력하십시오

푸시 세그도 기본 기능을 제공합니다. 하위 뷰 컨트롤러에는 상위 뷰 컨트롤러로 돌아갈 수있는 뒤로 버튼이 있습니다. 오른쪽으로 스 와이프하여 하위 뷰 컨트롤러를 표시 할 수도 있습니다. 푸시 세그에 대한 애니메이션은 페이지를 가로로 슬라이드하는 것과 같습니다.

여기에 이미지 설명을 입력하십시오

내비게이션 컨트롤러에없는 뷰 컨트롤러에서 푸시 세그를 만들 수 있지만 그렇게하면 내비게이션 바, 애니메이션, 제스처 등의 모든 기능이 손실됩니다. 이 경우 먼저 상위 뷰 컨트롤러를 내비게이션 뷰 컨트롤러에 포함시킨 다음 하위 뷰 컨트롤러로 푸시 세그먼테이션을 만들어야합니다.

여기에 이미지 설명을 입력하십시오

2. 모달 세구

반면에, 모달 세구 (즉, 모달로 존재)는 현재 뷰 컨트롤러에 존재한다. 자식 뷰 컨트롤러는 내비게이션 뷰 컨트롤러를 상속하지 않으므로 내비게이션 뷰 컨트롤러가있는 뷰 컨트롤러에서 모달 segue를 표시하면 내비게이션 막대가 손실됩니다. 하위보기 컨트롤러를 탐색 컨트롤러에 다시 포함시키고 원하는 경우 새 탐색 스택을 시작해야합니다. 부모 뷰 컨트롤러로 돌아가려면 직접 구현 dismiss하고 코드에서 호출해야 합니다.

여기에 이미지 설명을 입력하십시오

모달 segue의 애니메이션은 자식 뷰 컨트롤러가 페이지 하단에서 나타납니다. 내비게이션 뷰 컨트롤러도이 데모에서 사라졌습니다.

여기에 이미지 설명을 입력하십시오


답변

푸시 뷰는에 내장되어 있어야합니다 navigationController.

를 클릭 master view한 다음 메뉴 표시 줄에서 다음을 선택하십시오.

EDITOR->embed in->navigationController


답변

스토리 보드에 사용자 정의 푸시 및 세그 방법을 사용하여 컨트롤을 푸시합니다. 스토리 보드

그리고 Modal은 스토리 보드를 사용하지 않고 뷰를 탐색하는 방법입니다.


답변