나는 command + a, command + s, command + x, command + x와 같은 기본 명령 키 조합을 더 지원하기 위해 iOS 앱을 가지고 있습니다. 사용자가 블루투스 키보드를 연결하면 command + v와 친구가 표시됩니다.외부 키보드가 연결되어있을 때 명령, 제어 및 화살표 키를 지원합니다.
나는 이것이 가능하다는 것을 알고있다. Textastic 및 기타 편집 응용 프로그램과 같은 응용 프로그램은 이러한 기능을 지원합니다.
나는 UIResponder (팝업 메뉴에서만 사용하는 것처럼 보임), UIKeyInput, UITextInput [Delegate] 및 기타 API 문서를 참조하는 방법을 언급하지 않았습니다.
(BOOL) canPerformAction : (SEL) action withSender : (id) 보낸 사람을 사용하여 UIMenuController에 표시되는 옵션을 지원하는 것은 쉽습니다. 그러나이 방법은 블루투스 키보드가 연결될 때 호출되지 않습니다. 그래서 키보드 나 다른 것에 대한 다른 방법을 구현해야합니다.
이제는 텍스트 하위 시스템이 해당 작업을 수행해야 할 수도 있습니다. 그러나 찾을 수있는 문서가 없습니다! 또한 작업 수행시 UITextInput 대리자 메서드가 호출되지 않습니다. 나는 거의 솔루션이 사적이라고 생각하고 있으며 애플에게이 기능들에 접근하는 방법을 물어볼 필요가있다.
UPDATE :
positionFromPosition : 간접 : 오프셋 : 화살표 키를 눌렀을 때를 검출하기 위해 사용할 수있는 방법이다. iOS가이 메소드를 호출 한 후 setSelectedText :를 호출합니다. 배관의 나머지 부분을 해결해야합니다.
UPDATE 2 :
내가 가진 모든 질문에 대답 할 수 있었다. 답변을 보려면 표시된 솔루션을 참조하십시오.
"하드웨어 키보드 시뮬레이션"은 화면 키보드가 나타나지 않게하는 것 같습니다. 필자는 시뮬레이터 키보드 단축키가 계속해서 작동 할 것으로 기대합니다. '가능하지 않습니다'라는 응답은 아마도 개발자가 직접 대면하는 대신 API가없는 사용자가 직면하기 때문에 (즉, 사용자가 기대할 수있는 기능) 때문일 수 있습니다. –
아마도 나는 잘못된 방식으로 질문을했을 것입니다. 내부가 어떻게 작동하는지 또는 "예상 된"최종 사용자 행동이 무엇인지 모를 때 내가하려고하는 일을 설명하는 것은 어려울 수 있습니다. API는 또한 특정 API가 시스템을 제공하는 데이터를 사용하는 방법의 부작용을 설명하지 않습니다. 예를 들어, UIMenController가 단축키 기능을 제공하는 데에도 사용되었다는 사실을 전혀 모릅니다. Apple의 응답에 관해서는 너무 기대가 높을 수 있습니다. 나는 내가 분명하다고 생각했지만, 아마도 그들은 내가 다른 것을 언급하고 있다고 믿었을 것입니다. – PeqNP
당신이 물어 본 사람은 그 기능이 존재하지 않을 가능성이 높습니다.나는 UX 테스터가 "이봐, 왜 하드웨어 키보드 작업을 복사하고 붙여 넣지 않니?"라고 말한 것 같습니다. 개발자는 "알고 있습니다! UIMenuController 콜백에 연결할 수 있습니다"라고 말했습니다. –