iOS Question Custom Keyboard

Yvon Steinthal

Active Member
Licensed User
Longtime User
Hi,

I am currently trying to add a custom keyboard in B4i for an iOS app.
So far i've figured that the keyboard is called upon the KeyboardStateChanged Event.

My question is simple, how can i forbid the keyboard to pop up, and instead show my custom
keyboard. (a custom panel with custom buttons basically...)

Any clues or advice would be appreciated.
 

tufanv

Expert
Licensed User
Longtime User
Can you please share how this problem was resolved. I am facing the same issue.
Can't remember what i did but my current working code use this :
B4X:
Dim no As NativeObject=txthesap
no.setField("inputView", panelmakine2)

panelmakine2 loads a layout file that has the numbers of the keypad etc..
 
Upvote 0

jai

Active Member
Licensed User
Longtime User
Can't remember what i did but my current working code use this :
B4X:
Dim no As NativeObject=txthesap
no.setField("inputView", panelmakine2)

panelmakine2 loads a layout file that has the numbers of the keypad etc..
I keep on getting (when tap on txthesap)-
child view controller:<UICompatibilityInputViewController: 0x143e3a720> should have parent view controller:page (vc): Page but requested parent is:<UIInputWindowController: 0x14408da00>

Just to confirm,
txthesap is a TextField
panelmakine2 is a panel
Both are initialized in the layout file in Main. Above code is placed immediately after LoadLayout in Application_Start,
panelmakine2 has views in it. How does panelmakine2 load layout files? This is where my problem may be. Can you please elaborate a bit more with an example.
 
Upvote 0

jai

Active Member
Licensed User
Longtime User
Can't remember what i did but my current working code use this :
B4X:
Dim no As NativeObject=txthesap
no.setField("inputView", panelmakine2)

panelmakine2 loads a layout file that has the numbers of the keypad etc..
Thanks tufanv! I figured it out.
 
Upvote 0

jai

Active Member
Licensed User
Longtime User
Good ! What was the problem ?
The Dim and no.SetField statements for all associated views had to be listed immediately after loading the layout for it to work.

I had some other statements in between and moving them to a later point made it work as needed.
 
Upvote 0
Top