4

Hi I am working on an iphone application and want to handle keyboard events in iphone. In Mac, there is a class NSEvent which handles both keyboard and mouse events, and in ios (iphone/ipad) the counterpart of NSEvent is UIEvent which handles only touch events. I know ios API does not provide this functionality, but how can i handle key events in iphone??? Any good tutorial or sth, to get started...

2 Answers 2

7

You cant directly code for keyboad;s key and there is no mouse in case of device.

you can make your logics for different kind of charectersets or you can make your logics in textField delgate methods or Textview Delegates method

textView delegate

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

textField delegate

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

You can also use Notification for textField and Textview.

For TextField use this

call this register method in 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 } } 

and for text view you need to change only event name like this

[notificationCenter addObserver:self selector:@selector (handle_TextFieldTextChanged:) name:UITextViewTextDidChangeNotification object:self.textField]; 
Sign up to request clarification or add additional context in comments.

Comments

2

You can use notifications to handle events as explained here: http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html

But the functionality is very limited.

3 Comments

Thank u so much... but this link does not seem to provide me complete functionality... I want to handle every key as typed by user (on iphone), and send that to another machine over the local network
May be use a hidden textfield and capture the inputs through delegates?
yeah i thought of the same solution... So let me try it Thank u so much... Cheers

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.