fl.controls.TextArea не прокручивает весь путь вниз - PullRequest
0 голосов
/ 26 апреля 2011

У меня есть элемент управления TextArea, и скольжение полосы прокрутки вниз всегда не отображает весь текст.

Я думаю, что это как-то связано со сменой шрифта, потому что я заметил, что когда я делаю setStyle для изменения стиля textFormat, значение textHeight не меняется.

Кто-нибудь сталкивался с чем-то подобным? я могу по крайней мере получить доступ к источникам TextArea, чтобы я мог это исправить? Или есть способ не знать, подкласс и исправить это легко?

вы можете проверить это здесь: http://www.climatizacionuponor.com/newsletters/abril-2011/#/FeriaBtn если вы видите прокручиваемые тексты, вы можете попробовать прокрутить весь путь вниз, а затем выбрать текст и потянуть его вниз, иногда будет отображаться больше текста. Извините за испанский.

Это пример текста, который обычно не прокручивается до конца:

<p>Este accesorio es la evolución del antiguo sistema press fitting y resuelve los problemas que éste último presentaba. Mediante un anillo fabricado en acero al carbono que le proporciona un efecto memoria y gracias al indicador de unión, realiza el apriete por si solo sin necesidad de herramientas, garantizando unos ensamblajes profesionales, perfectos y duraderos. Los materiales de última tecnología que componen el nuevo accesorio RTM™ combinan el plástico más ligero con las mejores funciones mecánicas del metal, lo que garantiza una resistencia excepcional a temperaturas extremas. Además, dispone de un efecto de memoria que garantiza la estanqueidad en todo momento gracias a su presión constante de 360º sobre la tubería, que absorbe las variaciones de temperatura en la misma.</p><br><p>El Indicador de unión consta de un Código de Colores, lo que permite saber a simple vista el diámetro de tubería correspondiente, ahorrar tiempo y garantizar una unión más segura y fiable.</p><br><p>Mantener los niveles más altos de seguridad de las instalaciones es uno de los principales objetivos de Uponor, por eso se ha sometido a los productos a las pruebas más duras, llevando la Tecnología RTM™ a las más extremas condiciones de funcionamiento. En palabras de Sergio Toribio, Jefe de Producto de este sistema, “Ha sido un reto ser capaces de desarrollar un dispositivo que pueda funcionar bajo presiones altas, variaciones térmicas, e incluso a grandes movimientos de tracción en las extremidades de las tuberías que, si bien no son habituales en el día a día, suponen un riesgo para cualquier instalación.”</p><br><p>La Tecnología RTM™ resulta idónea tanto para nuevas instalaciones, como para reformas. Además, cumple con los más estrictos estándares de certificación internacional, como es de esperar de uno de los líderes en soluciones de fontanería y calefacción, tanto en Europa, como en América.</p>

и это мой код:

import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
import fl.controls.TextArea;
import fl.controls.UIScrollBar;
import de.mightypirates.megazine.interfaces.IMegaZine;
import de.mightypirates.megazine.interfaces.IPluginManager;
import de.mightypirates.megazine.interfaces.IPage;
import de.mightypirates.megazine.plugins.anchors.IAnchors;

import flash.events.Event;
import flash.events.TextEvent;
import flash.text.TextField;
import fl.events.ComponentEvent;


public class Content extends MovieClip {

    var _mz:IMegaZine;

    public function Content() {
        var tf:TextFormat = new TextFormat();

        tf.font = "FoundryFormSans";
        tf.color = 0x2D2C2E;
        tf.align = TextFormatAlign.JUSTIFY;

        for(var i=0 ; i < numChildren ; i++)
        {
            var ta:TextArea = getChildAt(i) as TextArea;
            if(ta != null)
            {
                ta.setStyle("textFormat", tf);
                ta.editable = false;
                ta.textField.selectable = false;
                ta.verticalScrollBar.maxScrollPosition = ta.textHeight;
                ta.getStyle("textFormat");
            }
        }
    }

}

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

Это совершенно не в моей голове. Я создал клиент telnet для flash один раз, и иногда он не прокручивался до конца. Так что я заставил его.

TextField имеет свойство scrollH, и вы можете установить его в maxScrollH, чтобы TextField опустился вниз.

myTextArea.textField.scrollH = myTextArea.textField.maxScrollH;

edit: исправлена ​​строка кода, так как использовалась TextArea.

0 голосов
/ 26 апреля 2011

Я не уверен, как выглядит ваш код, но для меня это нормально работает:

var fmt:TextFormat = ta.textField.getTextFormat();
fmt.font = "Comic Sans MS";
fmt.size = 15;
ta.setStyle("textFormat", fmt);

ta.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam non sapien lorem. Etiam tincidunt consectetur neque, laoreet hendrerit magna commodo ac.";
...