2012-01-31 17 views
1

Flex 4.6を使用してIOSとAndroid用のアプリケーションを作成しています。 Android上ではすべてうまく動作していますが、ソフトキーボードが表示されて画面がパンした後のIOSでは、キーボードが外されても画面が元に戻ることはありません。画面の下半分は白のままで、上半分は視界からずれたままです。私はオンラインで検索していて、何が間違っているのか把握しようとしていて、運がなかった。私はデバッグモードでプログラムを実行していますが、AS3のエラーメッセージは表示されません。私のtrace()は印刷され、アプリケーションは引き続き動作しますが、明らかにあなたはアプリケーションの上半分と対話できません。 XMLのsoftkeyboardBehaviorをnoneに設定すると、すべて正常に動作しますが、ユーザーはどこに入力しているのかわかりません。ソフトキーボードが解除された後、Flex 4.6 IOS画面がアンパックされない

私はIOS 5.0.1で私のIPod touchでこれをテストすることしかできませんでした。 Flash Builderのシミュレータでプロジェクトを実行しようとすると、Android版もIOS版もスプラッシュ画面を通過しません。

すべてのヘルプは大

をいただければ幸いあなたのTextInputの属性「を入力し」追加

+0

あなたは私がCS5.5プロのアプリを開発しているのとまったく同じ問題に直面している解決策を見つけましたか? – hariszaman

答えて

1

てみてくださいありがとうございました。それは私のために働いたが、今私はソフトキーボードが非アクティブ化するときにそれがジャンプ対パンの問題があります。

3

私が見たところによると、TextInputのsoftKeyboardDeactivateイベントは起動されません。これは、その他のアクションが実行されないためです。

これはFlex 4.6バージョンのバグです。 (http://forums.adobe.com/message/4068144)。

私は回避策を見つけましたが、少しトリッキーですが動作します。

新しいTextInputをViewの上に非表示にしてから、元のTextInputのfocusOutイベントで、非表示のTextInputにフォーカスを強制します。そのTextInputに対してSoftkeyboardイベントがアクティブになり、パンがViewの上部に戻り、新しいTextInputからフォーカスを離すと、ソフトキーボードは消えます。

ユーザーはこのトリッキーな解決方法に気付かないでしょう。

<s:TextInput id="ghost" x="-100" y="0" width="0" height="0"/> 
<!-- ... --> 
<s:TextInput id="original" focusOut="textInputFocusOutHandler(event)"/> 

は...

public function textInputFocusOutHandler(event:FocusEvent):void 
{ 
    this.ghost.setFocus(); 
    callLater(this.setFocus); 
} 
0

私の問題は、私はパン原因とAdobeが文書で述べている私のテキストボックスのStageTextスキン、およびないように、スクロールのいずれかのタイプを使用していたということだったようです作業。古いTextInputスキンに切り替えると問題は解決するようですが、ソフトキーボードのネイティブ機能がすべて失われてしまい、不幸にもユーザーエクスペリエンスがかなり損なわれてしまいます。

関連する問題