TableViewRow中的标签被切断(Titanium Studio)

时间:2014-05-26 12:03:54

标签: ios titanium tableview titanium-mobile

我在使TableView中的标签正确显示时遇到问题,我希望有人可以提供帮助。

以下是问题的屏幕截图:table display problem

它们后面带有(...)的标签被切掉了。 当我为行设置固定高度时不会出现此问题,但由于文本长度不同,这对我来说不是一个好的解决方案。

我在this question尝试了答案,但无济于事。

以下是我生成表格的代码:

var aSection = Ti.UI.createTableViewSection({
    rows: [],
    headerView: header
});

for (var p = 0; p < answers.length; p++){
  var currentAnswer = answers[p]; 

  var arow = Ti.UI.createTableViewRow({
    selectedBackgroundColor:'#f5f5f5',
    answID: currentAnswer['aId'],
    map: currentAnswer['aMap'],
    isSelected: false,
    height: 'auto',
    rightImage: '/images/icons/radio-unselected.png'
  });

var atext = Ti.UI.createLabel({
    font:{fontSize:gui.defaultFontSize+2, fontFamily: gui.defaultFont},
    color: '#333',
    text: currentAnswer['aText'],
    left:10, top: 10, bottom: 10, right: 10,
    width:'auto',
    height: 'auto',
    borderWidth: 0,
    borderColor: "#000",
  });

  arow.add(atext);
  aSection.add(arow);
}

var sections = [];
sections[0] = aSection;

var answView = Ti.UI.createTableView({
  backgroundColor:'white',
  data: sections,
  bottom: 1,
  minRowHeight: 40,
});

我真的很茫然。任何指针都表示赞赏。

3 个答案:

答案 0 :(得分:2)

如果你的文字太长,那么它与右侧按钮重叠,但你仍然要显示全文,那么你应该设置左和右;右边或设置宽度为Ti.UI.SIZE所以如果你想重叠右边的按钮然后你应该使用Ti.UI.SIZE或不然后你可以设置左和右对了

简而言之,将宽度设置为Ti.UI.SIZE或设置左右属性。

答案 1 :(得分:1)

Ti.UI.SIZEheight而不是width使用auto,很久以前就已弃用auto。这样的事情可以帮到你

var aSection = Ti.UI.createTableViewSection({
    rows: [],
    headerView: header
});

for (var p = 0; p < answers.length; p++){
  var currentAnswer = answers[p]; 

  var arow = Ti.UI.createTableViewRow({
    selectedBackgroundColor:'#f5f5f5',
    answID: currentAnswer['aId'],
    map: currentAnswer['aMap'],
    isSelected: false,
    height:Ti.UI.SIZE,
    rightImage: '/images/icons/radio-unselected.png'
  });

var atext = Ti.UI.createLabel({
    font:{fontSize:gui.defaultFontSize+2, fontFamily: gui.defaultFont},
    color: '#333',
    text: currentAnswer['aText'],
    left:10,  right: 10,
    width:Ti.UI.SIZE,
    height:Ti.UI.SIZE,
    borderWidth: 0,
    borderColor: "#000",
  });

  arow.add(atext);
  aSection.add(arow);
}

var sections = [];
sections[0] = aSection;

var answView = Ti.UI.createTableView({
  backgroundColor:'white',
  data: sections,
  bottom: 1,
  minRowHeight: 40,
});

答案 2 :(得分:0)

尝试使用:minimumFontSize:'18sp'

或某种尺寸,以满足您的显示需求。这会将字体缩小到最小尺寸以适应所有内容。