0

这是我在这个社区的第一个问题,指的是钛工作室的API。我解释一下:我试图将一个 textField 放在 listView 中的一个项目中,但是在编译时以及何时专注于文本区域不会让我写,而当它在其他类型的 listView 中这样做时。

我希望你能帮助解决这个问题

var win = Ti.UI.createWindow({
    backgroundColor:'#FFF'
});

var plainTemplate = {
    childTemplates: [
        {                            
            type: 'Ti.UI.Label', 
            bindId: 'title',           
            properties: {            
                width: '100%',
                height: 30,
                left: 0,
                top:0
            }
        },

        {
            type: 'Ti.UI.TextArea',
            bindId: 'campo',
            properties: {
                top:60,
                width: '70%',
                left:10,
                height:40
            }
        }

    ],

    events: {click: check }
};

var listView = Ti.UI.createListView({
    templates: { 'uncheck': plainTemplate},
    defaultItemTemplate: 'uncheck'
});

var data = [];
for (var i = 0; i < 20; i++) {
    data.push({

        title : { text: 'row' + i },

        properties : {
            itemId: 'row' + i,
            accessoryType: Ti.UI.LIST_ACCESSORY_TYPE_NONE,
        }
    });
}

var section = Ti.UI.createListSection();
section.setItems(data);
listView.sections = [section];

function check() {
    alert('estas aqui!!');
}

win.add(listView);

win.open();
4

1 回答 1

0

您是否尝试过删除 60px 的 UITextArea 中的 top-Property?这可能就是为什么您的 textarea 处于您预期的另一个位置的原因:

   {
        type: 'Ti.UI.TextArea',
        bindId: 'campo',
        properties: {
            // top: 60   <--- remove that line
            width: '70%',
            left:10,
            height:40
        }
    }

我还没有测试你的整个代码,但是我将顶部属性的这个值添加到我正在处理的应用程序中的 ListView 中,它以与你写的类似的行为结束。

于 2014-10-28T17:36:19.133 回答