Titanium:创建类似iPhone联系人(编辑模式)应用程序中的字段

时间:2012-02-15 14:24:35

标签: iphone titanium contacts field tableview

注意:分隔符aka分隔符是此问题的要点。它必须是可见的。

有没有办法创建类似iPhone联系人(编辑联系模式)应用程序中的字段?

我想创建一个将titleLabel与textField分开的分隔符。 喜欢“First Name | hinttext” 而不是“名字hinttext”

我认为我想做的事情与此类似......除了我正在使用Titanium。有什么方法可以使用Titanium吗? How is iPhone Contact app's detail View implemented

@MRT和任何知道的人: 你如何使组合视图看起来像这样?

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

5 个答案:

答案 0 :(得分:0)

您必须创建一个新的 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);

答案 1 :(得分:0)

尝试这对你真的很有用

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);

答案 2 :(得分:0)

你有2种方法可以做到这一点。

  1. 取2个TextField并调整(上边距和左边距)并将其连接起来。 或
  2. 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();
    

答案 3 :(得分:0)

添加垂直线

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

row.add(vline);

答案 4 :(得分:0)

您只需要创建一个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 value 需要。例如:

rows.push(new createTableViewRowWithTitleAndValue("Foo", "Bar"));