Titanium Appcelerator Alloy не поддерживает стили formFactor для виджетов

Я разработал пример кода, в котором я создал виджет, имеющий только представление, которое добавляет представление изображения внутри него. Он отлично работает, когда я применяю стили из tss контроллера напрямую, но когда используется «formFactor», он не работает. Чтобы уточнить то же самое, проверьте код, размещенный здесь.

Вы можете создать новый проект Alloy и протестировать его с помощью следующего кода:

ПРИМЕЧАНИЕ. Все зависимости включены в config.json.

Реализация виджета:

widget.xml

<Alloy>
   <View id="section" class="section"></View>
</Alloy>


widget.tss

".section":{
    backgroundColor: 'red',
    layout : 'vertical'
},


widget.js

var args = arguments[0] || {};
$.section.applyProperties(args);

$.setData = function(view) {
    $.section.add(view);
}

Код для индексной страницы

Index.xml

<Alloy>
<ScrollView class="baseView">
    <Widget id="contentView" class="contentView" src="com.investis.scrollablesection"></Widget>
</ScrollView>
</Alloy>


Index.tss

".contentView [formFactor=handheld]":{
    backgroundColor: 'green',
    width: Ti.UI.FILL,
    height: Ti.UI.SIZE
}

Index.js

var imgView = Ti.UI.createView({
    backgroundColor: 'yellow',
    top: 20,
    left: 0,
    right: 0,
    width: Ti.UI.FILL,
    height: Ti.UI.SIZE
});
$.contentView.setData(imgView);

То же самое работает, если я удаляю [formFactor=handheld] из .contentView в Index.tss


person Paresh Thakor    schedule 06.03.2014    source источник
comment
SDK: 3.2.1, iOS: 7, в симуляторе не работает formFactor   -  person Paresh Thakor    schedule 10.03.2014


Ответы (1)


В вашем ответе отсутствуют некоторые важные детали, например, для какой платформы вы создаете, какую версию Titanium SDK вы используете, и вы не понимаете, чего вы ожидаете, по сравнению с тем, что вы видите как проблему.

Используя ваш код, созданный для симулятора iOS, я получаю зеленую прокрутку, заполняющую всю ширину экрана и примерно 20 dp в высоту — с квалификатором [formFactor=handheld] в классе index.tss или без него. Если я увеличу высоту прокрутки, я увижу желтый вид внутри. Так в чем проблема?

person skypanther    schedule 07.03.2014