There was a thread about this before, but pulling up the iPhone keyboard stalls the whole phone for a good 5 seconds. Is this a workaround people use to preload it, cause right now it’s virtually unusable.
Is it possible to render the keyboard behind a loading screen that goes over top? My guess is the keyboard will always be rendered atop anything. Is it possible to write some objective-C code to fix this issue?
Should not happen unless you are totally flooding the device to death.
you can not access the keyboard and if you made an own which you very well can it wouldn’t differ from the one there cause the keyboard is on top of the GL view, independent of what you do.
I’m not flooding the screen to death at all. Maybe 5-10 draw calls and few objects in the scene. Still, I get a good 4-5 second lag, and it looks very bad. I can’t serve this up to paying customers.
You’re saying my only choice is to re-create the iPhone keyboard in Unity? I will do it if I have to, but I’d rather not.
I get the same thing actually, but only on the first time it loads. Heaps less on the 3Gs mind you.
I’ve often thought about making a custom keyboard with sprite manager or something, it’d be nice to make it a little custom and get rid of that damned black border!
But I think you might run into trouble with multiple languages and that. (you’d probably have to limit your characters or you’d go mad)
If you want to do so in objc or unity is up to you.
As for the loading time to get it there though I’m not seing the problem.
You will realize that most games that don’t have own ones will actually require an init time for the kb to happen.
my unity iphone 1.7 application on iTouch 3GS on iOS4 has about 0.7s to open up the keyboard and I have beyond 15 drawcalls (its a search list system implemented with unity gui with realtime update basing on the keyboard input and no problem and the keyboard is not being opened before or anything alike)
My lag is about 3 seconds. And none of the interface works during this time, including button rollovers – it’s pretty annoying. I don’t think I could even do an animated loading screen as that too would freeze.
I thought about creating my own keyboard for English users and in the options have an International Keyboard Enable option that would use the default Unity keyboard with lag. Sad that Unity doesn’t handle this problem for me. The Unity keyboard also lacks an event for Keyboard.Return, there’s only Keyboard.Done
in that case you must either have something major going on ram wise or you are just with a normal game on a pre 3GS device where the RAM is that short that it always ends with such stuff where system services are pushed in and out.
It does handle it for you, but as mentioned, you run likely on the border of the device (use instruments to get an idea what kind of border)
there is no need for keyboard return. returns are translated into line breaks.
The done is there to close the keyboard ever again.
If you try to do your own through objc, you will realize why that extra field etc is there if you want to have the keyboard working with single and multiline text fields.
Also, there is more than 1 keyboard type, if you use the right one it looks right
the keyboard is the same one as used right now and works fine.
if you need something more application specific, you always have the option to hook in your own (obj)c code to get exactly what you want.