Как обрабатывать ключевые события в iphone

Привет, я работаю над приложением для iphone и хочу обрабатывать события клавиатуры в iphone. В Mac есть класс NSEvent, который обрабатывает события клавиатуры и мыши, а в ios (iphone/ipad) аналог NSEvent - UIEvent, который обрабатывает только сенсорные события. Я знаю, что IOS API не обеспечивает эту функциональность, но как я могу обрабатывать ключевые события в iphone??? Любой хороший учебник или что-то, чтобы начать...

2 ответа

Решение

Вы не можете напрямую кодировать для keyboad;s ключ и нет мыши в случае устройства.

Вы можете создать свою логику для различных типов наборов символов или сделать свою логику в методах textField delgate или Textview Delegates

делегат textView

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

делегат textField

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

Вы также можете использовать уведомления для textField и Textview.

Для TextField используйте это

вызовите этот метод регистрации в 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
    }

}

и для просмотра текста вам нужно изменить только имя события, как это

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

Вы можете использовать уведомления для обработки событий, как описано здесь: http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html

Но функциональность очень ограничена.

Другие вопросы по тегам