2012-02-16 1 views
1
scrollPane.setSize(400,400); 
scrollPane.source=emptyc; 

Lorsque emptyc est un conteneur dans lequel j'ajoute du contenu dynamiquement (c'est-à-dire par la méthode addChild) ne fonctionne pas. Il ne fait simplement pas défiler du tout.ScrollPane ne fonctionne pas avec du contenu dynamique dans as3

Ni fonctionne si j'ajouter du contenu à l'aide scrollpane en tant que conteneur lui-même (à savoir:

scrollPane.addChild(myChild); 

Répondre

4

Le problème est l'instance ScollPane n'a pas la moindre idée que vous avez mis à jour son contenu (ajouté un enfant à emptyc/etc .) de sorte que vous devez dire à update()

Voici un exemple de base:.

var b:BitmapData = new BitmapData(2,2,false,0xFFFFFF); 
b.setPixel(0,0,0);b.setPixel(1,1,0); 
var s:Shape = new Shape(); 

var sp:ScrollPane = new ScrollPane(); 
sp.scrollDrag = true; 
sp.source = s; 
addChild(sp); 


s.graphics.beginBitmapFill(b); 
s.graphics.drawRect(0,0,1000,1000); 
s.graphics.endFill(); 
sp.update(); 

Notez que vous obtenez le même comportement que vous mentionnez si vous com sortent sp.update();. De plus, il y a un exemple dans la documentation.

Questions connexes