Titanium中tableview行中的多行文本

时间:2013-01-10 11:15:16

标签: ios uitableview titanium titanium-mobile appcelerator-mobile

我正在使用Titanium中基于tableView的应用程序。 我需要在表格视图行中显示长文本内容。

当我这样做时,我的行看起来像:

Multiline

这是我用来创建表格视图行的代码。

var row = Ti.UI.createTableViewRow({
        backgroundColor : '#F0F0F0',
        color           : 'black',
        font            : { fontSize:10 ,fontWeight:'bold',fontFamily:'Arial'},
        height          :'80',
        title           : firstRowContent
     });

我的问题是我需要将文本包装在表格视图行中,并且需要以多行显示它。

在iOS中,有lineBreakModenumberOfLines属性。我可以很容易地做到。

有没有办法用钛做?我搜索了很多,但是每个人都说在文本之间插入了一个“ \ n ”或者添加了多个标签。

这些是我提到的链接:

  1. multiline label
  2. multiline text textwrap linebreaks in buttons and table view items
  3. Display resultset (text) within a label, multiline
  4. Multiline Label?
  5. mutiline tablerow from database

3 个答案:

答案 0 :(得分:4)

您需要在行中放置标签对象。可以创建标签,使其包装文本。

搜索答案时,搜索复杂的tableviewrow appcelerator

答案 1 :(得分:3)

下面给我的报道。 Titanium的默认标签行为是它包装。行视图的“标题”属性是单行的。

var win = Ti.UI.createWindow({
    backgroundColor: '#fff'
});
var row = Ti.UI.createTableViewRow();
row.add(Ti.UI.createLabel({
    text: 'Gosh golly, this is a label. Cool, huh?',
    color: '#000', font: { fontSize: 32 }
}));
win.add(Ti.UI.createTableView({
    data: [ row ]
}));
win.open();

如果您要在行上设置一个高度,使得包裹的线条不适合,那么它将为您进行椭圆化。

row.add(Ti.UI.createLabel({
    text: 'Gosh golly, this is a label. Cool, huh?',
    color: '#000', font: { fontSize: 32 },
    height: 40
}));

但默认情况下,它会缩放到您提供的内容。

答案 2 :(得分:2)

我通过添加标签作为tableview行的子视图来修复此问题。

 var firstRow = Ti.UI.createTableViewRow({
        backgroundColor : '#F0F0F0',
        color           : '#555555',
        font            : { fontSize:10 ,fontFamily:'Arial'},
        height          :'auto',
       // title         : firstRowContent,
        horizontalWrap  : 'true',
        selectionStyle  : Ti.UI.iPhone.TableViewCellSelectionStyle.NONE
     });
      var firstLabel = Ti.UI.createLabel({
        text            : 'Midhun Says: Hi, How are you ? We are currently waiting for you ...',
        height          : 'auto',
        right           : '10',
        top             : '7',
        left            : '10',
        color           : '#555555',
        font            : { fontSize:15 ,fontFamily:'Arial'},
     });

firstRow.add(firstLabel);

无论如何,谢谢你们的帮助......