iOS simulator not responding
Terry Judd
terry.judd at unimelb.edu.au
Tue Nov 26 18:23:57 EST 2019
Not sure if it will help, but here's the code I use to create a multiline text control (pControlName) on iOS that 'overlays' an existing LC field (pObj)
# create a native multiline text control
put the rect of pObj into tRect
# shrink the rect by 1 pixel all around to reveal the object's border
add 1 to item 1 of tRect
add 1 to item 2 of tRect
add -1 to item 3 of tRect
add -1 to item 4 of tRect
mobileControlCreate "multiline", pControlName
mobileControlSet pControlName, "rect", tRect
mobileControlSet pControlName, "opaque", true
mobileControlSet pControlName, "visible", true
mobileControlSet pControlName, "contentType", "plain"
mobileControlSet pControlName, "fontSize", "18"
mobileControlSet pControlName, "textAlign", "left"
mobileControlSet pControlName, "returnKeyType", "default"
mobileControlSet pControlName, "autoCorrectionType", "default"
mobileControlSet pControlName, "autoCapitalizationType", "sentences"
mobileControlSet pControlName, "keyboardStyle", "default"
You use 'editable' and 'enabled' as parameters for mobileControlSet but I don't use either of those. I use 'opaque' but you don't because you are after a transparent effect - I wonder whether 'opaque' can be used in conjunction with 'alpha' though?
Terry...
On 27/11/19, 6:46 am, "use-livecode on behalf of J. Landman Gay via use-livecode" <use-livecode-bounces at lists.runrev.com on behalf of use-livecode at lists.runrev.com> wrote:
I have reduced the problem to iOS input fields. Some testing shows that:
* The native fields exist
* Their rect is correct
* If I script their text data, it is there and can be retrieved
But they are inactive, can't be tapped, don't show any text even if its
entry is scripted, can't be typed into, can't be focused. They act like
they are invisible.
Here is what I do to create them. This is a generic handler that creates
all input fields throughout the app, and it works fine on Android.
Usually I call it like this: createInputFld "email". The other params
are used only occasionally.
command createInputFld pName,pReturnKey,pMultiline -- native single-line
input
-- pName = any valid fld identifier (long name, ID, etc)
-- pReturnKey = return key type, usually "search"
-- pMultiline = boolean, whether to create a multi-line input
put (the rect of control pName) into tRect
subtract 10 from item 2 of tRect -- adjust for mobile
add 10 to item 4 of tRect -- may not need for iOS
if pMultiLine = true then
mobileControlCreate "multiline", pName
else
mobileControlCreate "input", pName
end if
mobileControlSet pName, "rect", tRect
mobileControlSet pName, "autoCapitalizationType", "none"
mobileControlSet pName, "autoCorrectionType", "no"
mobileControlSet pName, "enabled", true
mobileControlSet pName, "editable", true -- multiline only (?)
mobileControlSet pName, "alpha", 0 -- transparent
mobileControlSet pName, "textalign", the effective textalign of
control pName
mobileControlSet pName, "textColor", the effective textcolor of
control pName
if pReturnKey <> "" then mobileControlSet pName, "returnKeyType",
pReturnKey -- usually "search"
mobileControlSet pName, "visible", true
if the platform contains "iPhone" then
mobileControlSet pName, "borderStyle", "none"
mobileControlSet pName, "clearButtonMode", "always"
end if
end createInputFld
The fields on the first card are plain input fields, but I have a
question about multiline fields. The docs are a bit confusing. I pass
the parameter to Android and it does what I want. But I'm not clear
whether that works on iOS. The docs say that multiline fields are
applicable to both platforms, but mobileControlCreate info says it is
Android only. There is also a separate iOS command to create a multiline
field. How does all this work?
Multiline isn't applicable to the immediate issue, where I can't get
past the first two plain input fields.
On 11/25/19 5:09 PM, J. Landman Gay via use-livecode wrote:
> Thanks Panos. Resetting didn't work, so now I'm wondering if it is
> something about my LC native fields. The first thing the user needs to
> do is log in, and I can't test beyond that until I can enter
> credentials. There are two native fields, both are transparent. Would
> transparency in iOS matter? They work on Android.
>
> I forgot to mention that the only OS available in XCode 10.1 is iOS 12.1
> but I assume that's okay.
>
> On 11/25/19 4:11 PM, panagiotis merakos via use-livecode wrote:
>> Hello Jacque,
>>
>> So the iOS standalone is installed to the iOS simulator, but the
>> simulator
>> does not respond to clicks / keyboard entry?
>>
>> I am on Mojave as well, but have not seen that happening.
>>
>> Maybe it is worth resetting the simulator state:
>> Quit any instances of Xcode and iOS simulator, and execute this in the
>> terminal:
>>
>> sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
>>
>> Then:
>> - Open the Simulator from Xcode (Launch Xcode 10.1, go to Xcode's menubar
>> and choose
>> Xcode -> Open Developer Tool -> Simulator)
>> - Wait until the simulator fully loads, until it shows the device's Home
>> screen
>> If you change device by clicking on the Simulator's app menubar
>> (Hardware -> Device -> iOS 12.1 -> <device_name> ) - again, wait until
>> the
>> new simulator device fully loads, until it shows the device's Home screen
>> - Now go back to LiveCode and test again
>>
>> Fingers crossed :)
>>
>> Panos
>> --
>>
>> On Mon, 25 Nov 2019 at 21:43, J. Landman Gay via use-livecode <
>> use-livecode at lists.runrev.com> wrote:
>>
>>> When I run a test on the iOS simulator, it will not respond to either
>>> clicks/taps or keyboard entry. Basically, it's inert. I've tried several
>>> different hardware devices, all with the same results.
>>>
>>> A Google search seems to show that this is a bug in the simulator when
>>> running under Mojave, and works again if run in Catalina. I can't update
>>> to Catalina yet because several apps I rely on will not run there.
>>>
>>> I'm using LC 9.5.1 (rc1), XCode 10.1, on Mojave. Has anyone seen this,
>>> and if so, have a workaround?
>>>
>>> --
>>> Jacqueline Landman Gay | jacque at hyperactivesw.com
>>> HyperActive Software | http://www.hyperactivesw.com
>>>
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
>
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
_______________________________________________
use-livecode mailing list
use-livecode at lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list