이 질문은 이전에 여러 가지 형태로 나타 났지만 해결책은 없었습니다 ... 나는 티타늄 API를 사용하고 있습니다. 2.1.3 및 iPhone 용 건물자동 높이를 사용하여 레이블의 실제 높이를 얻는 방법
나는 일반적인 JS를 많이 사용하기 때문에 나는이 있습니다
exports.Header = function(title){
var l = Ti.UI.createLabel({
text: title,
height: 'auto',
textAlign: 'left',
color: '#989898',
font: {fontSize: exports.defaultFontSize+10, fontFamily: exports.defaultFont, fontWeight: 'bold'}
});
return l;
};
그리고 내가 그렇게 같은 레이블을 호출 해요 :
var qLabel = gui.Header(question);
qLabel.top = 5;
qLabel.left = 10;
qLabel.right = 10;
qLabel.color = "#3B3B3B";
qLabel.font = {fontSize: gui.defaultFontSize+4, fontWeight: 'bold'};
내가가 모든 일을 해봤를 예를 들어, 지금까지 라벨의 높이를 얻을 :
qLabel.toImage().height // this returns auto
qLabel.getRect().height // this returns 0
과의 getSize()와 같은 일을 높이 (이뿐만 아니라 0을 반환) 오. r getHeight() (자동 복귀). 내가 먼저 부모보기에 추가 한 다음 높이를 읽고,하지만 아무것도 ... 내가 한 마지막 일이 없었다 시도했다 : 그들은 모두 내가 0
이야 반환
var qqv = Ti.UI.createView({ width: 'auto', height: 'auto' });
qqv.add(qLabel);
qLabel.show();
Ti.API.info(qLabel.rect.height);
Ti.API.info(qLabel.size.height);
Ti.API.info(qqv.rect.height);
Ti.API.info(qqv.size.height);
이 시점에서 절망적 인 상태가되어 버렸습니다. API 버전으로 인해이 문제가 발생했는지 여부는 알 수 없습니다.
편집 : 약간의 시행 착오 후 가, 내가
qLabel.toImage().height;
반환 일부 수는 있지만, 올바른 높이가 될 것 같지 않습니다 것으로 나타났습니다.
현재 어떤 플랫폼에서 작업하고 있습니까? iPhone, iPad 또는 Android? –
나는 iPhone을 위해 일하고있다. 질문에 편집했습니다. –