Appcelerator: как создать Ti.UI.TextArea, динамически адаптируясь к контенту, но с минимальной высотой

Вопрос задан: 7 месяцев назад Последняя активность: 6 месяцев назад
up 0 down

Я хочу создать объект Ti.UI.TextArea, который будет динамически регулировать его высоту в соответствии с содержимым, но при этом будет иметь высоту по умолчанию (если содержимого нет). В Appcelerator, если вы не укажете высоту, он автоматически подстраивает свой размер под содержимое, но если текста нет, его размер будет аналогичен textField. Это для меня мало. Если вы укажете свойство height, то высота TextArea не изменится, даже если текст будет длиннее, чем редактируемая область.

Я хотел бы иметь что-то вроде этого:

var textArea = Ti.UI.createTextArea({
    minHeight: 30,
});

или вот так:

var textArea = Ti.UI.createTextArea({
    minLines: 3,
});

Я ищу решение как для Android, так и для iOS. Есть ли обходной путь для этого?

2 ответа

up 0 down

Вы можете динамически изменять высоту textField. Добавьте обработчик события onChange и динамически изменяйте высоту textField в соответствии с количеством строк в текстовом поле.

up 0 down

Начиная с 7.5.0.GA вы можете использовать maxLines на Android, чтобы иметь возможность расширить TextArea при нажатии клавиши возврата. Для iOS вы должны создать обходной путь, так как на данный момент нет паритета.