2011-09-16 3 views
0

私は情熱を持ってfl.controls。*を嫌うようになり始めています。テキストが追加されたときにTextFieldのfl.controls.UIScrollBarが有効にならない

私がしたいことは、スクロールバーが動的TextFieldのscrollTargetが多くのテキストを取得するように設定されている場合に有効にすることです。それは非常に簡単ですが、私はそれを働かせることはできません。 TextFieldのスクロールイベントを聞いてみると、UIScrollBarが有効になりますが、何らかの理由で画面全体が黒く点滅します。それは非常に奇妙です。

ダイナミックTextFieldとUIscrollBarは、両方とも読み込んでいるswfのタイムライン上にあります。私はFlashとActionscriptのUIScrollBarのscrollTargetプロパティを設定しようとしました。この問題の解決策があれば教えてください。

私が見つけた最良の解決策は、fl.controlsでクラスを使用しないことです。 :/

+0

変更イベントを聞き取り、行の高さを取得しようとしましたか? –

+0

良いlordヘルプ文書が機能していません。とにかく私はそれを試していない。それがどのようにして問題を解決するかについていくつかの詳細を教えていただけますか? – Jordan

答えて

0

アドビドキュメントにはこれに関する良い例がありました。
おそらく見つからない行があります。

mySb.scrollTarget = myTxt; 

注フラッシュを使用する場合は、UIScrollBarのインスタンスをライブラリにドラッグする必要があります。

import flash.net.URLLoader; 
import fl.controls.UIScrollBar; 
import flash.events.Event; 

var myTxt:TextField = new TextField(); 
myTxt.border = true; 
myTxt.width = 200; 
myTxt.height = 16; 
myTxt.x = 200; 
myTxt.y = 150; 

var mySb:UIScrollBar = new UIScrollBar(); 
mySb.direction = "horizontal"; 
// Size it to match the text field. 
mySb.setSize(myTxt.width, myTxt.height); 

// Move it immediately below the text field. 
mySb.move(myTxt.x, myTxt.height + myTxt.y); 

// put them on the Stage 
addChild(myTxt); 
addChild(mySb); 
// load text 
var loader:URLLoader = new URLLoader(); 
var request:URLRequest = new URLRequest("http://www.helpexamples.com/flash/lorem.txt"); 
loader.load(request); 
loader.addEventListener(Event.COMPLETE, loadcomplete); 

function loadcomplete(event:Event) { 
    // move loaded text to text field 
    myTxt.text = loader.data; 
    // Set myTxt as target for scroll bar. 
    mySb.scrollTarget = myTxt; 
} 
関連する問題