Thursday, 15 May 2014

TextInput in iOS gains then immediately loses focus won't open softkeyboard. FocusManager says still has focus. Flex Flash Builder AIR Mobile -



TextInput in iOS gains then immediately loses focus won't open softkeyboard. FocusManager says still has focus. Flex Flash Builder AIR Mobile -

dev environment: flash builder 4.7 sdk: flex 4.6.0 (build 23201) air 3.5 arguments: -local en_us -swf-version=16 testing platform: ios 6 on ipad 2

severe bug, believe. renders ios apps developed using these technologies utterly unusable.

situation: whenever touch textinput component on testing platform device, 1 of 2 things:

it perform supposed to. gains focus (focusin event dispatched), bluish focus rect surrounds it, prompt text replaced flashing cursor, soft keyboard activates , displayed (all expected events dispatched). it fail. gain focus (focusin event dispatched), , bluish focus rect appear briefly , disappear, prompt text remains displayed , there no cursor in field (focusout event dispatched). softkeyboardactivate event dispatched , softkeyboarddeactivate event dispatched. keyboard not appear briefly.

i can tap tap tap tap , 1 tap (no different other) successful , #1 happen instead of #2.

here's oddest thing. focusmanager tells me displayobject has focus same object when focusin event dispatched , after focusout event dispatched (and if check every 10ms using timer, results don't change... right has focus.

below code trace output.

<?xml version="1.0" encoding="utf-8"?> <s:itemrenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:c="components.*" width="100%" creationcomplete="creationcompletehandler()"> <fx:declarations> <s:dropshadowfilter id="dropshadowfilter" blurx="6" blury="6" alpha="0.5" distance="6" angle="60" strength=".5" quality="{bitmapfilterquality.high}"/> </fx:declarations> <fx:script> <![cdata[ import flash.filters.bitmapfilterquality; import mx.utils.objectproxy; import spark.skins.mobile.textareaskin; import views.tools.makeatoolbase; [bindable] private var pad:number = 15; [bindable] public var dataproxy:objectproxy; [bindable] public var v:makeatoolbase; protected function creationcompletehandler():void { trace("learnitlistitemrenderer function creationcompletehander()"); dataproxy = new objectproxy(data); dataproxy.choosepicturebutton = choosepicturebutton; } ]]> </fx:script> <s:layout> <s:horizontallayout horizontalalign="center"/> </s:layout> <s:hgroup id="listitem" gap="33" paddingtop="15" paddingbottom="15" horizontalalign="center" paddingleft="15" paddingright="44" verticalalign="middle" width="100%" height="210" filters="{[dropshadowfilter]}"> <s:group height="100%"> <s:rect height="100%" width="100%" radiusx="5" radiusy="5"> <s:fill> <s:solidcolor color="0xffffff" alpha="1"/> </s:fill> <s:stroke> <s:solidcolorstroke weight=".5" color="0x000066"/> </s:stroke> </s:rect> <s:label text="{dataproxy.numberlabel}" fontsize="32" color="#000072" verticalalign="middle" verticalcenter="0" paddingleft="12" paddingright="12"/> </s:group> <c:choosepicturebutton id="choosepicturebutton" height="{listitem.height-pad-pad}" width="{(4*(listitem.height-pad-pad))/3}"/> <s:vgroup id="textinputboxesgroup" height="100%" width="100%"> <s:textinput id="behaviornametextinput" color="#000000" textalign="left" width="100%" prompt="enter behavior name..." needssoftkeyboard="true" interactionmode="touch" skinclass="spark.skins.mobile.textinputskin" returnkeylabel="done" showpromptwhenfocused="true" touchbegin="trace('touch');" softkeyboardactivate= "trace('############################# softkeyboardactive #####################################');" softkeyboarddeactivate="trace('############################# softkeyboarddeactivating #####################################');" softkeyboardactivating="trace('############################# softkeyboardactivating #####################################');" focusin="trace('textinput focusin: '+this.focusmanager.getfocus())" focusout="trace('textinput focusout: '+this.focusmanager.getfocus())" creationcomplete="{data.behaviornametextinput=behaviornametextinput;}" /> <s:spacer id="behaviorspacer" height="2"/> <s:textarea id="behaviordescriptiontextarea" fontfamily="verdana" fontsize="16" verticalalign="top" textalign="left" width="100%" height="100%" verticalscrollpolicy="on" interactionmode="touch" color="#000000" prompt="enter behavior description..." softkeyboardtype="{softkeyboardtype.default}" needssoftkeyboard="true" showpromptwhenfocused="true" skinclass="spark.skins.mobile.textareaskin" creationcomplete="{data.behaviordescriptiontextarea=behaviordescriptiontextarea}"/> </s:vgroup> <c:yesnoverticalbuttonsgroup/> /s:hgroup> </s:itemrenderer>

trace output [ edited brevity ]

textinput focusin: picturetoolsonthemovemakeit0.tabbedviewnavigatorapplicationskin6.tabbednavigator.tabbedviewnavigatorskin8.contentgroup._picturetoolsonthemovemakeit_viewnavigator3.viewnavigatorskin35.contentgroup.makeatoollearnitview471.skinnablecontainerskin472.contentgroup.itemlist.listskin475.scroller477.scrollerskin478.datagroup476.learnitlistitemrenderer566.listitem.textinputboxesgroup.behaviornametextinput ############################# softkeyboardactivating ##################################### ############################# softkeyboarddeactivating ##################################### textinput focusout: picturetoolsonthemovemakeit0.tabbedviewnavigatorapplicationskin6.tabbednavigator.tabbedviewnavigatorskin8.contentgroup._picturetoolsonthemovemakeit_viewnavigator3.viewnavigatorskin35.contentgroup.makeatoollearnitview471.skinnablecontainerskin472.contentgroup.itemlist.listskin475.scroller477.scrollerskin478.datagroup476.learnitlistitemrenderer566.listitem.textinputboxesgroup.behaviornametextinput ############################# softkeyboarddeactivating #####################################

[ failed attempts 2 - 22 removed readability ]

textinput focusin: picturetoolsonthemovemakeit0.tabbedviewnavigatorapplicationskin6.tabbednavigator.tabbedviewnavigatorskin8.contentgroup._picturetoolsonthemovemakeit_viewnavigator3.viewnavigatorskin35.contentgroup.makeatoollearnitview471.skinnablecontainerskin472.contentgroup.itemlist.listskin475.scroller477.scrollerskin478.datagroup476.learnitlistitemrenderer566.listitem.textinputboxesgroup.behaviornametextinput ############################# softkeyboardactivating ##################################### ############################# softkeyboardactive #####################################

ios flex mobile textinput flash-builder

No comments:

Post a Comment