Detecting when text has run into the end of the ContainerController in a TextFlow object


/ Published in: ActionScript 3
Save to your folder(s)

This snippet shows how you can detect when a FlowElement that has been added to a TextFlow object (Text Layout Framework) has run to the end of the container that is flowing into. You may have linked containers that you are flowing a load of lorem ipsum into for a mock up and you want the containers to be full of text. You will need to detect when the text has reached the end otherwise the flow will continue but not be visible.


Copy this code and paste it in your HTML
  1. /*
  2. A good idea to set a config object to pass into the TextFlow object when you create it
  3. */
  4. config = Configuration(TextFlow.defaultConfiguration).clone();
  5.  
  6. /*
  7. And add this overflowPolicy to it as well as your formatting defaults
  8. */
  9. config.overflowPolicy = OverflowPolicy.FIT_DESCENDERS;
  10.  
  11. textFlow = new TextFlow(config);
  12.  
  13. /*
  14. Now imagine we are in a loop which adds a paragraph of lorem ipsum to the textflow and updates the controllers and checks if the flow is now out of the bounds of the container
  15. */
  16.  
  17. while(LOOP)
  18. {
  19. textFlow.addChild(myParagraphElement); // you've created the paragraph
  20. textFlow.flowComposer.updateAllControllers(); // you've created the controllers
  21.  
  22. var containerIndex:int = textFlow.flowComposer.findControllerIndexAtPosition(textFlow.textLength-1);
  23. if(containerIndex==-1) textFlowCompleteHandler();
  24. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.