![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2010
Сообщений: 56
|
При чем в s:TextArea текст не обрезается.
(Первый - spark, второй - mx). ![]() Казалось бы: проблема решается тем, что можно использовать s:TextArea, но дело в том, что шрифты подгружаются c embed-as-cff=false рантаймно как swf. В итого получается вопрос - два в одном: 1) как сделать чтоб mx:TextArea не обрезало текст? или 2) можно ли в s:TextArea отображать шрифты с embed-as-cff=false? |
|
|||||
|
Можно попробовать для текстфилда просто отступы побольше поставить:
Че-то умнее сказать не смогу ![]()
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 56
|
Решение вроде-бы ничего. Я пробовал так делать. Написал наследника mx:TaxtArea, в нем поставил сэттеры на textOffset, в которых я делаю
далее переопределил метод updateDisplayList override protected function updateDisplayList(unscaledWidth : Number, unscaledHeight : Number) : void { super.updateDisplayList(unscaledWidth, unscaledHeight); var vm:EdgeMetrics = viewMetrics; textField.move(vm.left - _textOffset, vm.top); //increase viewMetrics width by textOffset*2 var w:Number = unscaledWidth - vm.left - vm.right + _textOffset*2; var h:Number = unscaledHeight - vm.top - vm.bottom; // If there's a border, add another line of pixels to the textField // that go under the border but allow for descenders on some fonts. if (vm.top + vm.bottom > 0) h++; // maxScrollV doesnt get proper value if width < 4 textField.setActualSize(Math.max(4, w), Math.max(4, h)); } По большому счету этот метод на 90% дублирует метод updateDisplayList в mx:TextArea кроме маленькой особенности: двигается textField на величину паддинга для того, чтоб визуально начало строки было там где и положено ему быть. В таком случае текст не обрезается, но фактически сам textField получается больше области, в которой отображается текст и в итоге кликабельная область становится шире. Хотелось бы, конечно, чтоб те клики, которые визуально попадают за граничу TextArea не ловились этим компонентом. Т.е. структура, типа: s:BorderContainer ловил клики если пользователь кликнул рядом с текстом (но попал в зону паддинга). |
|
|||||
|
Как-то сложно всё получается...
![]() Ну если продолжить крутить костыли то еще одним может быть hitArea - это свойство спрайта либо дисплейобжекта, не помню. Можно наложить на текстфилд такую штуку.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 56
|
Тоже пробовал. В таком случаю TextArea ловит клики где нужно, но не пропускает по-краям.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:21. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| embed-as-cff , обрезает текст |
|
|