1
동일한 문자열의 서로 다른 두 부분에 textFormat을 할당하는 데 실패했지만 두 번째로 등록되지 않고 기본 텍스트 형식으로 유지됩니다. 글꼴의 두 가지 스타일 (일반 글꼴과 굵게 글꼴)이 포함되어 있습니다.ActionScript - setTextFormat()이 (가) 동일한 문자열에서 두 번 이상?
//Create Text Field
private function createAboutWindowTextField():TextField
{
var aboutWindowFont:Font = new AboutWindowFont();
var regularFormat:TextFormat = new TextFormat();
var boldFormat:TextFormat = new TextFormat();
regularFormat.size = boldFormat.size = 12;
regularFormat.font = boldFormat.font = aboutWindowFont.fontName;
regularFormat.align = boldFormat.align = TextFormatAlign.CENTER;
boldFormat.bold = true;
var result:TextField = new TextField();
result.antiAliasType = AntiAliasType.ADVANCED;
result.autoSize = TextFieldAutoSize.LEFT;
result.defaultTextFormat = regularFormat;
result.embedFonts = true;
result.multiline = true;
result.selectable = false;
result.type = TextFieldType.DYNAMIC;
result.text = "First Header\n" +
"Version 1.0\n" +
"Copyright © 2011\n\n" +
"Second Header:\n" +
"Other info";
result.setTextFormat(boldFormat, result.text.indexOf("First Header"), ("First Header").length);
result.setTextFormat(boldFormat, result.text.indexOf("Second Header:"), ("Second Header:").length);
return result;
}
위의 코드는 모두 "먼저 헤더"를 초래한다 "둘째 헤더 :"대담 해지고 있지만, "두 번째 헤더 :"동안 만 "우선 헤더는"굵게 설정됩니다 간단히 무시 될 것으로 보인다. 뭐가 문제 야?
당신은 스타일 시트와는 htmlText를 사용하지 않고 텍스트 입력란에 동일한에 textFormat의 여러 인스턴스를 적용 할 수는 없습니다 말? – TheDarkIn1978
StyleSheet 솔루션의 예제를 추가했습니다. 테스트에서는 텍스트 필드의 여러 섹션에 텍스트 서식을 적용 할 수있었습니다. 어쩌면 텍스트 형식에서 "bold = true"로 설정하는 대신 굵은 글꼴에 다른 글꼴을 사용해보십시오. 테스트를 위해 굵은 체의 색상을 변경하면 색상이 올바르게 변경됩니까? – Corey
아니요, 굵게 글꼴을 다른 색상으로 설정하면 두 번째도 적용되지 않습니다. 이상하게도, 일단 적용하고 result.text.indexOf ("Second Header :")로 텍스트 형식을 설정하려고하면 적용되지 않습니다. 문제가 문자열인지 궁금해? result.text.indexOf ("Second Header :") 추적은 올바른 색인을 반환합니다. – TheDarkIn1978