적용 대상: Canvas 앱
표시되는 화면을 변경합니다.
개요
대부분의 앱에는 여러 화면 포함되어 있습니다. 및 Navigate 함수를 Back 사용하여 표시되는 화면을 변경합니다. 예를 들어 사용자가 해당 단추를 선택할 때 다른 화면을 표시하려면 단추의 OnSelect 속성을 함수를 포함하는 Navigate 수식으로 설정합니다. 해당 수식에서 페이드와 같은 시각적 전환을 지정하여 한 화면을 다른 화면으로 변경하는 방법을 제어할 수 있습니다.
Back 표시 Navigate 할 화면만 변경합니다. 현재 표시되지 않은 화면은 백그라운드에서 작업을 계속합니다. 다른 화면에서 컨트롤의 속성을 참조하는 수식을 빌드할 수 있습니다. 예를 들어, 사용자가 한 화면에서 슬라이더의 값을 변경하고, 수식에서 해당 값을 사용하는 다른 화면으로 이동하여, 새 화면에서 어떻게 적용되는지를 결정할 수 있습니다. 그런 다음, 사용자가 원래 화면으로 다시 이동하면 슬라이더가 해당 값을 유지하고 있음을 확인할 수 있습니다.
사용자가 화면을 전환할 때에도 컨텍스트 변수는 유지됩니다. 수식이 표시할 화면에 대해 하나 이상의 컨텍스트 변수를 설정하는 데 사용할 Navigate 수 있습니다. 이는 화면 외부에서 컨텍스트 변수를 설정하는 유일한 방법입니다. 이 방법을 사용하여 화면에 매개 변수를 전달할 수 있습니다. 다른 프로그래밍 도구를 사용한 경우 이 방법은 프로시저에 매개 변수를 전달하는 것과 유사합니다.
앱 개체의 StartScreen 속성을 사용하여 표시할 첫 번째 화면을 제어합니다.
동작 수식 내에서만 이러한 함수를 사용할 수 있습니다.
Navigate
첫 번째 인수에서 표시할 화면의 이름을 지정합니다.
두 번째 인수에서 이전 화면을 새 화면으로 변경하는 방법을 지정합니다.
| 전환 인수 | 설명 | 데모 |
|---|---|---|
| 화면 전환.커버 | 새 화면이 현재 화면을 덮도록 오른쪽에서 왼쪽으로 이동하여 화면으로 슬라이드됩니다. |
|
| 화면 전환.커버 오른쪽 | 새 화면이 현재 화면을 덮도록 왼쪽에서 오른쪽으로 이동하여 화면으로 슬라이드됩니다. |
|
| 화면 전환.페이드 | 현재 화면이 서서히 사라지고 새 화면이 나타납니다. |
|
| ScreenTransition.None (기본값) | 새 화면이 현재 화면을 빠르게 대체합니다. |
|
| 화면 전환.UnCover | 현재 화면이 새 화면에서 오른쪽에서 왼쪽으로 이동하여 화면으로 밖으로 슬라이드됩니다. |
|
| 화면 전환.UnCoverRight | 현재 화면이 새 화면에서 왼쪽에서 오른쪽으로 이동하여 화면으로 밖으로 슬라이드됩니다. |
|
새 화면의 컨텍스트 변수를 만들거나 업데이트하는 데 사용할 Navigate 수 있습니다. 선택 사항인 세 번째 인수처럼 컨텍스트 변수의 이름을 포함하는 레코드를 열 이름 및 컨텍스트 변수의 새 값으로 전달합니다. 이 레코드는 UpdateContext 함수로 사용한 레코드와 동일합니다.
전환하는 동안 추가적인 변경을 수행하려면 이전 화면의 OnHidden 속성 또는 새 화면의 OnVisible 속성을 설정합니다. App.ActiveScreen 속성은 변경 내용을 반영하도록 업데이트됩니다.
Navigate 는 일반적으로 true 를 반환하지만 오류가 발생하면 false 를 반환합니다.
탐색을 위한 컨텍스트 변수는 화면 간 탐색에 설명되어 있습니다.
Back
함수는 Back 가장 최근에 표시된 화면으로 돌아갑니다.
각 Navigate 호출에 대해 앱은 표시된 화면과 전환을 추적합니다. 연속 Back 호출을 사용하여 사용자가 앱을 시작할 때 나타나는 화면으로 모든 방법을 반환할 수 있습니다.
함수가 Back 실행되면 역 전환이 기본적으로 사용됩니다. 예를 들어 CoverRight 전환을 Back 통해 화면이 나타난 경우 UnCover (왼쪽)를 사용하여 반환합니다. Fade 와 None 은 그 자체로 역입니다. 선택적 인수를 전달하여 Back 특정 전환을 강제 적용합니다.
Back 일반적으로 true 를 반환하지만 사용자가 앱을 시작한 후 다른 화면으로 이동하지 않은 경우 false 를 반환합니다.
구문
Back( [ 전환 ] )
- 전환 - 선택 사항. 현재 화면과 이전 화면 간에 사용할 시각적 전환입니다. 이 문서의 앞부분에 있는 이 인수에 대한 유효한 값 목록을 참조하십시오. 기본적으로 화면이 되돌아가는 전환은 화면이 나타난 전환의 반대입니다.
Navigate( 화면 [, 전환 [, UpdateContextRecord ] ] )
- 화면 - 필수. 표시할 화면입니다. 화면 대신 탐색하려는 화면에 있는 컨트롤을 사용할 수도 있습니다.
- 전환 - 선택 사항. 현재 화면과 다음 화면 간에 사용할 시각적 전환입니다. 이 문서의 앞부분에 있는 이 인수에 대한 유효한 값 목록을 참조하십시오. 기본 값은 None입니다.
- UpdateContextRecord - 선택 사항. 하나 이상의 열 이름 및 각 열에 대한 값을 포함하는 레코드입니다. 이 레코드는 UpdateContext 함수에 전달된 경우처럼 새 화면의 컨텍스트 변수를 업데이트합니다.
예제
| 수식 | 설명 | 결과 |
|---|---|---|
| Navigate(세부 정보) | 컨텍스트 변수에 대한 값으로 전환 또는 변경되지 않은 Details 화면을 표시합니다. | Details 화면이 빠르게 나타납니다. |
| Navigate( Details, ScreenTransition.Fade ) | Fade 전환을 사용하여 Details 화면이 표시됩니다. 컨텍스트 변수의 값이 변경되지 않습니다. | 현재 화면이 서서히 사라지면서 Details 화면이 표시됩니다. |
| Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) | Fade 전환을 사용하여 Details 화면이 표시되고 ID 컨텍스트 변수의 값이 12로 업데이트됩니다. | 현재 화면이 서서히 사라지면서 Details 화면이 표시되고, 화면의 컨텍스트 변수 ID가 12로 설정됩니다. |
| Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) | Fade 전환을 사용하여 Details 화면이 표시됩니다. ID 컨텍스트 변수의 값이 12로 업데이트되고, Shade 컨텍스트 변수의 값이 Color.Red로 업데이트됩니다. | 현재 화면이 서서히 사라지면서 Details 화면이 표시됩니다. Details 화면의 컨텍스트 변수 ID가 12로 설정되고, 컨텍스트 변수 Shade가 Color.Red로 설정됩니다. Details 화면에서 컨트롤의 Fill 속성을 Shade로 설정하는 경우 해당 컨트롤이 빨간색으로 표시됩니다. |
| Back() | 기본 리턴 전환으로 이전 화면을 표시합니다. | 현재 화면이 나타나는 전환의 역 전환을 통해 이전 화면을 표시합니다. |
| Back(ScreenTransition.Cover) | Cover 전환으로 이전 화면을 표시합니다. | 현재 화면이 나타나는 전환과 관계 없이 Cover 전환을 통해 이전 화면을 표시합니다. |
단계
빈 앱 만들기.
두 번째 화면을 추가합니다.
이 앱에는 두 빈 화면인 Screen1 및 Screen2가 있습니다.
Screen2의 Fill 속성을
Gray값으로 설정합니다.Screen2에서 단추를 추가하고 OnSelect 속성을 다음 수식으로 설정합니다.
Navigate( Screen1, ScreenTransition.Cover )Alt 키를 누른 상태에서 단추를 선택합니다.
Screen1 은 왼쪽으로 펼쳐지는 전환을 통해 흰색 배경으로 나타납니다.
Screen1에서 단추를 추가하고 OnSelect 속성을 다음 수식으로 설정합니다.
Back()Alt 키를 누른 상태에서 단추를 선택합니다.
두 번째 화면은 오른쪽으로의 전환(Cover 반대)을 통해 회색 배경으로 나타납니다.
각 화면에서 단추를 반복해서 선택하여 앞뒤로 움직입니다.