Xamarin에서 watchOS 텍스트 입력 작업
Apple Watch는 사용자가 텍스트를 입력할 수 있는 키보드를 제공하지 않지만 몇 가지 시계 친화적인 대안을 지원합니다.
- 미리 정의된 텍스트 옵션 목록에서 선택
- Siri 받아쓰기,
- 이모지 선택
- 글자별 필기 인식(watchOS 3에 도입됨)을 낙서합니다.
시뮬레이터는 현재 받아쓰기를 지원하지 않지만 다음과 같이 텍스트 입력 컨트롤러의 다른 옵션(예: Scribble)을 테스트할 수 있습니다.
조사식 앱에서 텍스트 입력을 허용하려면 다음을 수행합니다.
- 미리 정의된 옵션의 문자열 배열을 만듭니다.
- 배열, 이모지 허용 여부 및
Action
사용자가 완료되면 호출되는 배열을 사용하여 호출PresentTextInputController
합니다. - 완료 작업에서 입력 결과를 테스트하고 앱에서 적절한 작업을 수행합니다(레이블의 텍스트 값을 설정할 수 있음).
다음 코드 조각은 사용자에게 미리 정의된 세 가지 옵션을 제공합니다.
var suggest = new string[] {"Get groceries", "Buy gas", "Post letter"};
PresentTextInputController (suggest, WatchKit.WKTextInputMode.AllowEmoji, (result) => {
// action when the "text input" is complete
if (result != null && result.Count > 0) {
// this only works if result is a text response (Plain or AllowEmoji)
enteredText = result.GetItem<NSObject>(0).ToString();
Console.WriteLine (enteredText);
// do something, such as myLabel.SetText(enteredText);
}
});
열거형에는 WKTextInputMode
다음 세 가지 값이 있습니다.
- 일반
- AllowEmoji
- AllowAnimatedEmoji
일반
일반 모드가 설정되면 사용자는 다음을 선택할 수 있습니다.
- 받아쓰기
- 낙서 또는
- 애플리케이션이 제공하는 미리 정의된 목록의 입니다.
결과는 항상 으로 NSObject
캐스팅할 수 있는 값 string
으로 반환됩니다.
Emoji
이모지는 다음과 같은 두 가지 유형이 있습니다.
- 일반 유니코드 이모지
- 애니메이션 이미지
사용자가 유니코드 이모지 선택 시 문자열로 반환됩니다.
애니메이션 이미지 이모지를 선택하면 result
완성 처리기에서 이모UIImage
지를 NSData
포함하는 개체가 포함됩니다.
받아쓰기만 허용
제안(또는 낙서 옵션)을 표시하지 않고 사용자를 받아쓰기 화면으로 직접 연결하려면 다음을 수행합니다.
- 제안 목록에 대해 빈 배열을 전달하고
- set
WatchKit.WKTextInputMode.Plain
.
PresentTextInputController (new string[0], WatchKit.WKTextInputMode.Plain, (result) => {
// action when the "text input" is complete
if (result != null && result.Count > 0) {
dictatedText = result.GetItem<NSObject>(0).ToString();
Console.WriteLine (dictatedText);
// do something, such as myLabel.SetText(dictatedText);
}
});
사용자가 말하는 경우 조사식 화면에는 이해되는 텍스트를 포함하는 다음 화면이 표시됩니다(예: "이것은 테스트입니다.").
완료 단추를 누르면 텍스트가 반환됩니다.