[英]AS3 text and textbox width
我有一個動態警報方法,該方法會彈出一個警報動畫片段,告訴用戶他們的搜索未成功。
alert("Map [" + inputTxt + "] not found.");
現在,我想做一些事情
if (alertText.textWidth > myText.text.width) {
myText.text = "Map not found.";
}
如果文本框中的總文本大小超過文本框本身,則此操作應該不顯示inputTxt變量。
我擁有的東西行不通。 我願意接受任何建議(只要它們簡短明了)。
更多信息:alertText是輸入到對象中的字符串。 myText.text是一個文本框。 我想先將alertText放入myText.text中,然后再將其放入文本框中。
-奧林
字符串沒有textWidth屬性。 除非您使用每個字符寬度相同的字體,否則沒有(簡便)的方法可以提前知道文本是否適合。
這是實現此目的的一種方法:
myText.text = alertText; //put the text in the box
if(myText.textHeight > myText.height || myText.textWidth > myText.width){
//the text does not fit in it's entirety.
myText.text = "Map not found.";
}
這假定您未使用textField的autoSize
屬性,並且顯式設置了width / height。
如果要在將字符串輔助到目標文本字段之前對其進行檢查,則可以創建另一個字符串並使用其textFormat
var someShortText : String = "short string";
var someLongText : String = "very, very, very, very, long text";
function checkStringWidth(string : String, tMaxWidth : Number, tFormat : TextFormat) : Boolean {
var tField : TextField = new TextField();
tField.autoSize = TextFieldAutoSize.LEFT;
tField.multiline = false;
tField.wordWrap = false;
tField.defaultTextFormat = tFormat;
tField.text = string;
return tField.width<=tMaxWidth;
}
trace(checkStringWidth(someShortText, someTF.width, someTF.defaultTextFormat));
trace(checkStringWidth(someLongText , someTF.width, someTF.defaultTextFormat));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.