Titanium: создайте поля, подобные тем, которые есть в приложении «Контакты iPhone» (режим редактирования) - PullRequest
0 голосов
/ 15 февраля 2012

Примечание: основной раздел этого вопроса - разделитель, или разделитель.Он должен быть виден.

Есть ли способ создать поля, подобные тем, которые есть в приложении "Контакты iPhone" (режим редактирования контактов)?

Я хочу создать разделитель, разделяющийtitleLabel из textField. Как «Имя | подсказка» вместо «Имя подсказки»

Я думаю, что я пытаюсь сделать, похоже на это ... за исключением того, что я использую Titanium.Есть ли способ сделать это с помощью Titanium? Как обстоят дела с приложением iPhone Contact? View реализован

@ MRT и всем, кто знает: Как бы вы создали комбинированный вид таким, чтобы он выглядел следующим образом?

 ____________________
( Name  |   hinttext )
 --------------------

Ответы [ 5 ]

0 голосов
/ 16 октября 2012

Вам просто нужно создать TableViewRow и добавить к нему метки. Нет готового шаблона для этих строк. Но вы можете создать обертку , если будете часто ее использовать. Например:

var createTableViewRowWithTitleAndValue(title, value) {

    // TableViewRow
    row = Ti.UI.createTableViewRow({
        backgroundColor: "#FFFFFF"
    });

    // Title
    row.add(Ti.UI.createLabel({
        text: title,
        left: 5,
        font: { fontWeight: "bold" }
    }));

    // Value
    row.add(Ti.UI.createLabel({
        text: value,
        right: 5,
        textAlign: "right"
    }));

}

Затем, когда вы устанавливаете данные для TableView, вместо этого вы создаете новый TableViewRow, вы создаете новый tableViewRowWithTitleAndValue , с title и значением . Например:

rows.push(new createTableViewRowWithTitleAndValue("Foo", "Bar"));
0 голосов
/ 15 марта 2012

Для добавления вертикальной линии

var vline = Ti.UI.createView({
    height: 44,
    width: 1,
    top: 0,
    left: 85,
    backgroundColor:'#CCC'
});

row.add(vline);
0 голосов
/ 23 февраля 2012

Попробуйте, это действительно полезно для вас

var view1 = Ti.UI.createView({
    height : 50,
    width: 150,
    top: 5,
    bottom: 5,
    left: 5,
    font: {fontSize:10}
});
var text1 = Ti.UI.createTextField({
    hintText : 'First Name',
    height : 50,
    width: 75,
    top: 0,
    left: 0,
    font: {fontSize:10}
});
var text2 = Ti.UI.createTextField({
    hintText : 'hint text',
    height : 50,
    width: 75,
    top: 0,
    left: 75,
    font: {fontSize:10}
});

view1.add(text1);
view1.add(text2);
0 голосов
/ 29 февраля 2012

у вас есть 2 способа сделать это.

  1. возьмите 2 TextField и отрегулируйте (верхний и левый поля) и соедините его. или

1 Взять 1 TextField 2. возьмите 1 метку, а ее ширина 2 и высота равны высоте текстового поля. 3. TextField.add (lable1)

var win1 = Ti.UI.createWindow({
title : 'Window1',
backgroundColor : '#f00',
id    : 0,
});

var text1 = Ti.UI.createTextField({
width : 150,
height : 50,
borderRadius : 9,
backgroundColor : '#fff',
top  : 50,
left : 20,
    });

var label1 = Ti.UI.createLabel({
width : 2,
height : 50,
top   : 0,
left  : 75,
});

text1.add(label1);
win1.add(text1);
win1.open();
0 голосов
/ 17 февраля 2012

Вам нужно будет создать новый TableViewRow и настроить его.

Вы можете помещать метки, поля, изображения и т. Д. В TableViewRow.

Пример:

var row = Ti.UI.createTableViewRow();

var label = Ti.UI.createLabel({
    text: "Name",
    width: 50,
    top: 5,
    bottom: 5,
    left: 5,
    font: {fontSize:10}
});
row.add(label);
...