I'm wondering if there's anyone else out there that has come across this problem or that might be able to help?
Essentially, i am using a custom keyboard on a screen within my app.
On the screen there are x4 text fields. On load, the first responder is the first text field. This still works perfectly in ios6. The problem comes when data is added into the first text field - it should fire UIControlEventEditingChanged (as in ios5) but it doesn't. In ios5 this triggers checks on the data entered and when appropriate changes the first responder to the next text field. The code for that is:
[self.field addTarget:self
action:@selector(textFieldDidUpdate:)
forControlEvents:UIControlEventEditingChanged];
To isolate the problem, i tested the code above on a text field using a standard keyboard and it works in ios6 which makes me think it has got to be something about the custom keyboard that is introducing the ios6 issue - perhaps something i should have been doing in ios5 but was been automatically managed for me.
It's worth noting that i am still able to touch into all four of the fields - so it's a different problem to the one other people have been asking questions about.
I use this code to hide the keyboard:
id keyboardImpl = [objc_getClass("UIKeyboardImpl") sharedInstance];
[keyboardImpl setAlpha:0.0f];
Each field reloads the keyboard.
I also have a warnings i don't know how to fix on:
id keyboardImpl = [objc_getClass("UIKeyboardImpl") sharedInstance];
Implicitly declaring library function 'objc_getClass' with type 'id (const char *)'
and
Instance method '-sharedInstance' not found (return type defaults to 'id')
Slightly separate note, i have heard that sometimes keyboards of this type get rejected by apple also interested to hear if anyone have any experience of this?
Thanks :)