Xamarin의 watchOS 메뉴 컨트롤(강제 터치)
조사식 키트는 시계 앱 화면에서 구현될 때 메뉴를 트리거하는 Force Touch 제스처를 제공합니다.
Force Touch에 응답
인터페이스 컨트롤러에 Menu
대해 구현된 경우 사용자가 Force Touch를 수행할 때 메뉴가 표시됩니다. 메뉴가 구현되지 않은 경우 화면 애니메이션이 짧게 적용되어 다른 동작이 발생하지 않습니다.
강제 터치는 화면의 특정 요소와 연결되지 않습니다. 하나의 메뉴만 인터페이스 컨트롤러에 연결할 수 있으며 화면에서 Force Touch 누름이 발생하는 위치에 관계없이 표시됩니다.
1~4개의 메뉴 옵션을 표시할 수 있습니다.
메뉴 추가
디자인 타임에 스토리보드에 InterfaceController
A Menu
를 추가해야 합니다. 메뉴 컨트롤을 인터페이스 컨트롤러로 끌면 스토리보드 미리 보기에는 시각적 표시가 없지만 메뉴는 문서 개요 패드에 표시됩니다.
메뉴 컨트롤에 최대 4개의 메뉴 항목을 추가할 수 있습니다. 속성 패드에서 구성할 수 있습니다. 다음 특성을 설정할 수 있습니다.
- 제목 및
- 사용자 지정 이미지 또는
- 시스템 이미지: 수락, 추가, 차단, 거절, 정보, 어쩌면, 더 많은, 음소거, 일시 중지, 재생, 반복, 다시 시작, 공유, 순서 섞기, 스피커, 휴지통.
Action
속성 패드의 이벤트 섹션을 선택하고 작업 메서드의 이름을 입력하여 만듭니다. 부분 메서드는 다음과 같이 인터페이스 컨트롤러 클래스에서 구현할 수 있는 코드에 만들어집니다.
partial void MenuItemTapped ()
{
Console.WriteLine ("A menu item was tapped.");
}
사용자 지정 이미지
iOS의 탭 이미지와 마찬가지로 메뉴 항목 이미지에는 배경을 표시할 수 있는 알파 채널이 있는 불투명 패턴이 필요합니다.
최상의 성능을 위해 메뉴에 사용되는 이미지를 조사식 앱 프로젝트(조사식 앱 확장 프로젝트 아님)에 추가해야 합니다.
메뉴 항목 변경
런타임에 추가
s 컬렉션을 MenuItem
프로그래밍 방식으로 변경할 수 있지만 런타임 시 인터페이스 컨트롤러에 추가할 수 없습니다Menu
.
다음과 같이 메서드를 AddMenuItem
사용합니다.
AddMenuItem (WKMenuItemIcon.Accept, "Yes", new ObjCRuntime.Selector ("tapped"));
Xamarin.iOS Watch Kit API에는 현재 다음과 같이 선언되어야 하는 메서드에 대한 AdMenuItem
A가 필요합니다selector
.
[Export("tapped")]
void MenuItemTapped ()
{
Console.WriteLine ("The dynamically added 'Yes' menu item was tapped.");
}
런타임 시 제거
메서드를 ClearAllMenuItems
호출하여 프로그래밍 방식으로 추가된 모든 메뉴 항목을 제거할 수 있습니다.
스토리보드에 구성된 메뉴 항목은 지울 수 없습니다.