2010-08-03 3 views
9

타사 iPad/iPhone 응용 프로그램에서 명령 키 시퀀스를 캡처 할 수 있습니까?iOS의 단축키는 무엇입니까?

긴 버전 : 발견 마주의 내 우수 여행 나의 새로운 아이 패드에

은 키보드 독 빛나는 것으로, 나는 표준 문제 텍스트 뷰의 텍스트를 편집 할 때, 나의 기쁨, 많은 발견 ; 복사 붙여 넣기에는 ⌘C/⌘P, 줄 및 문자 점프 작업에는^A,^B,^E 및 친구가 있습니다.

지금까지 그렇게 좋았습니까? 문제는 텍스트 필드, 특히 표준 발행 텍스트 필드에 제한적으로 보이는 것입니다. 제가 진정으로 원하는 것은 제 자신의 용도로 이런 이벤트를 포착하는 것입니다.

많은 앱에서 종종 발견 할 수있는 문제는 키보드 독 (예 : iWork Suite)이 없거나 쓸데없는 것 또는 적어도 성 가시고 쓸모가없는 것 중 거의 쓸모 없거나 최소한 성가신 경향이 있다는 것입니다. , (키보드 입력) (텍스트 입력에 크게 의존하지 않고 터치 제스처 [즉, 대부분의 다른 응용 프로그램 기간])에 의존하는 대부분의 다른 응용 프로그램).

예를 들어 Civilization Revolutions와 같은 많은 게임은 화살표 키를 사용하여 유닛을 이동하고 Enter 키를 사용하여 턴을 끝내는 기능을 추가하는 것만으로도 많은 도움이됩니다.

위와 같이 질문 : 이러한 이벤트를 캡처하고 이에 대응하여 원하는 것을 터치 명령 대신 하드웨어를 사용할 수있는 방법이 있습니까?

면책 조항 : 물론 키보드 입력에만 의존하는 응용 프로그램을 개발할 의향이없고 누구에게도 해당되지 않습니다. 터치 인터페이스가 가장 중요합니다. 그것은 항상 완전히 실용적인 것은 아닙니다.

+0

복제본처럼 보입니다. http://stackoverflow.com/questions/3199635/iphone-ipad-keyboard-shortcuts –

답변

4

iOS 7에서 단축키를 지원하기 위해 UIResponder 속성 keyCommands 및 클래스 UIKeyCommand이 추가되었습니다. 배열 UIKeyCommand을 반환하려면 keyCommands을 재정의하기 만하면됩니다.

6

iOS의 키보드 입력을 얻는 유일한 방법은 UITextInput 프로토콜을 사용하는 것입니다. 안타깝게도 프로토콜은 사용자가 누르는 원시 키를 제공하지 않고 대신 "이 문자열 삽입"및 "이 위치로 캐럿 이동"과 같은 메시지를 보냅니다. 화살표 키를 눌렀다는 것을 알기 위해서는 파기를해야합니다.

복사/붙여 넣기 또는 실행 취소/다시 실행과 같은 수정 키가있는 바로 가기의 경우 Apple 만 기본 사항을 지원하는 것으로 보이며 사용자 정의 키를 만들 수 없습니다. 그들은 UIResponder : –canPerformAction:withSender : 및 undoManager의 방법을 사용합니다.

그래서 게임을 쓰고 있는데 키보드를 이용하려면 UIResponder을 하위 클래스로 만들고 UITextInput 프로토콜을 준수해야합니다. 그리고 첫 번째 응답자로 만듭니다. 그러나 실제 키보드가없는 경우 소프트웨어 키보드가 표시됩니다.

내 자신의 면책 조항 : 내가 사용하는 의미되지 않은 방법으로 UITextInput를 사용하는 모든 노력을하지 않은, 그래서 그것이 실제로 작업을 진행하는 것이 얼마나 가능 모르는 . 그리고 나는 정말로하고 싶지 않습니다. 오히려 모든 버그 보고서를 제출하여 Apple이 키보드에서보다 정확한 입력을 얻을 수있는 API를 만들도록하십시오.

+0

소프트웨어 키보드가 팝업되지 않도록 할 수 없습니다. 공개 API가 아닙니다. –

+1

iPhone 또는 iPad를 하드웨어 키보드와 페어링 할 수 있습니다. –

+1

기본 키보드 대신 사용자 정의 inputView를 표시하도록 설정할 수 있으며이보기를 숨김으로 설정하면 효과적으로 키보드를 숨길 수 있습니다. –

0

가치 설명 : 현재 세부 사항은 NDA에 있지만 Apple은 iOS 7의 키보드 단축키/이벤트에 대한 지원을 추가하고 있습니다.

Mac OS X에서 작동하는 방식과 비슷하게 작동 할 것입니다. 비슷한 질문으로 this answer에 간략하게 설명되어 있습니다.

관련 문제