2011-03-07 7 views
4

안녕하세요 저는 iPhone 응용 프로그램에서 작업 중이며 iPhone에서 키보드 이벤트를 처리하려고합니다. Mac에서는 키보드와 마우스 이벤트를 모두 처리하는 NSEvent 클래스가 있고 ios (iphone/ipad)에서는 NSEvent에 해당하는 것이 터치 이벤트 만 처리하는 UIEvent입니다. ios API가이 기능을 제공하지 않는다는 것을 알고 있지만 iPhone에서 키 이벤트를 처리하는 방법은 무엇입니까 ??? 당신은 여기에 설명 된대로 이벤트를 처리 할 알림을 사용할 수iPhone에서 키 이벤트를 처리하는 방법

답변

7

장치의 경우 keyboad; s 키를 직접 코딩 할 수없고 마우스가 없습니다.

당신은 charectersets의 다른 종류에 대한 귀하의 논리를 만들 수 있습니다 또는 당신의 TextField 위양 방법 또는 텍스트 뷰 대의원 방법

텍스트 뷰의 대표

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 

의 TextField 대표

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

을 당신의 논리를 만들 수 있습니다 textField 및 Textview에 대한 알림을 사용할 수도 있습니다. 텍스트 필드에 대한

가있는 viewDidLoad

-(void)registerForTextFieldNotifications { 

    NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; 

    [notificationCenter addObserver:self 
          selector:@selector (handle_TextFieldTextChanged:) 
           name:UITextFieldTextDidChangeNotification 
          object:self.textField]; 

} 


- (void) handle_TextFieldTextChanged:(id)notification { 



    if([iSinAppObj.passCodeString isEqualToString:lockTextField.text]) 
    { 
     //code here 
    } 

} 

호출이 레지스터 방법을 사용하여 텍스트보기를 그렇게 많이 U 감사이

[notificationCenter addObserver:self 
           selector:@selector (handle_TextFieldTextChanged:) 
            name:UITextViewTextDidChangeNotification 
           object:self.textField]; 
2

좋은 자습서 또는 STH는 ... 시작하기 : http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html

을하지만 기능은 매우 제한적이다.

+0

같은에만 이벤트 이름을 변경해야합니다 .. 하지만이 링크는 완전한 기능을 제공하지 않는 것 같습니다 ... 사용자가 입력 한 모든 키를 처리해야하며 (iphone) 로컬 네트워크를 통해 다른 컴퓨터로 전송하십시오. –

+1

숨겨진 텍스트 필드를 사용하고 대리인을 통해 입력을 캡처 할 수 있습니까? –

+0

그래, 나는 똑같은 해결책을 생각 했어. 그러니 내가 시험해 보자. 정말 고맙습니다 ... 건배 –

관련 문제